2016-04-22 4 views
0

Я ищу некоторую помощь, пытаясь создать макрос excel. У меня есть очень большой лист, которые выглядят немного как это:Excel VBA, чтобы найти уникальные значения с несколькими условиями

Account NAME Address Dealer 
68687 Sara 11 Wood 1111 
68687 Sara 11 Wood 1111 
68687 Sara 11 Wood 1111 
12345 Tom 10 Main 7878 
12345 Tom 10 Main 7878 
54321 Tom 10 Main 7878 
10101 John 25 Lake 3232 
10101   25 Lake 3232 
11111 John 25 Lake 3232 

Что мне нужно сделать, это выделить все строки на листе, где каждый дилер имеет более одного уникального значения в столбце учетной записи , но он также должен иметь некоторое значение в столбце name. Итак, в приведенном выше примере я хотел бы выделить все строки для дилера 7878.

Я не уверен, что я должен смотреть на циклы или массивы, они могут занять много времени, так как лист довольно большой.

Ищет помощь.

Спасибо.

+1

Почему вы не используете сводный стол в комбинированном поле Account & Dealer, а не VBA? – brettdj

+2

, если A: A - учетная запись, а D: D - дилер, затем используется для условного форматирования $ A: $ D: '= IF (COUNTIFS ($ D: $ D, $ D1, $ B: $ B," ") = 0 , COUNTIFS ($ D: $ D, $ D1, $ A: $ A, "<>" & $ A1)) ' –

+0

В подходе VBA можно использовать словарь, введенный по номеру дилера –

ответ

1

James - Dirk дал вам хороший ответ в своем комментарии. Похоже, что это ...

enter image description here

Формула формат также помещается в столбец F, так что вы можете увидеть результаты расчета.

Если вы чувствуете, что вы все равно должны иметь решение VBA, это дает хорошую отправную точку для того, как макет вашего кода ...

  1. Игнорировать строки с пустым именем
  2. граф строк, где дилер такая же, как у дилера в текущей строке, а учетная запись не совпадает с учетной записью в текущей строке
  3. Если количество, найденное на шаге 2, больше 0, выделите текущую строку.
+0

Спасибо за помощь, я попробую их. – James

Смежные вопросы