2016-08-02 3 views
-2

У меня есть очень большая база данных около 2000 человек, у листа 1 есть все их имена и соответствующие данные. На листе 2 имеются данные, полученные с сайта. Я хотел бы, чтобы данные из листа 2 автоматически заполняли ячейки в Листе 1. Также, если человек не существует в листе1, чтобы выделить данные, которые он не мог сделать. Я так застрял на этом.Excel Database data issue

Sub dup() 
    Dim cell As Range, cella As Range, rng As Range, srng As Range 
    Set rng2 = Sheets(2).Range("A2:E2000") 
    Set rng3 = Sheets(3).Range("A2:E29000") 
    For Each cell In rng2 
     For Each cella In rng3 
      If cella = cell Then 
       cella.Interior.ColorIndex = 6 
       '  cella.AddComment.Text Text:="duplicate value" 
      End If 
     Next cella 
    Next cell 
    Set rng2 = Sheets(2).Range("T2:Y2000") 
    Set rng4 = Sheets(4).Range("A1:F2000") 
    For Each cell In rng2 
     For Each cella In rng4 
      If cella = cell Then 
       cella.Interior.ColorIndex = 6 
       '  cella.AddComment.Text Text:="duplicate value" 
      End If 
     Next cella 
    Next cell 
End Sub 

Его трудно для меня, чтобы показать, как это имеет много столбцов, не знаю, как на земле, я могу показать вам, что им пытаются сделать? :(

Попробуйте https://filetea.me/t1sfGPWECvdQqmgVDGtXL4oRQ

+1

Excel не является базой данных. Это электронная таблица. – Comintern

+1

Трудно сказать, что вы пытаетесь сделать, и что вы подразумеваете под «autopopulate», так как эта рабочая книга, с которой вы связаны, находится на сайте, для которого требуется адрес электронной почты для доступа, извините, что сообщила вам, но большинство людей будут скептически относиться к этому (и многие скептически относятся к загрузке файлов, например, от Google Docs и т. д.). Подумайте о создании (очень) небольшого набора примерных данных и обновлении вашего вопроса с помощью этих подробностей ... –

ответ

0

Может быть, если вы хотите сделать это без VBA, вы можете использовать LOOKUP функции в колонке автоматического заселить листа 1 в Это работает так:.

= ПРОСМОТР (лист1! А2, sheet2! таблица [а], sheet2! таблица [б])

Это будет найти значение в столбце «б» таблица в sheet2 на основе значений столбца " a ". Это будет выбрали значение в той же строке, если столбец «a» соответствует значению в столбце A листа1. Дайте мне знать, если я здесь не совсем ясно.

Тогда вы можете использовать Условное форматирование правил для выделенной вами подсветки. Я предлагаю функцию COUNTIF, которая вернет 0, если совпадающее значение не найдено в указанном диапазоне.

= СЧЕТЕСЛИ (А2: А5, А4)

Это, например, продолжение значения в А2: А5, который соответствует значений в A4.

Кроме того, вы найдете условные инструменты форматирования на вкладке дома, если вы используете Excel 2016

Смотрите ссылку для получения дополнительной информации:

Information you may need