2013-07-25 4 views
0

Поиск ряда смежных ячеек строк на листеПоиск ряда смежных ячеек строк на листе

h1 h2 h3 h4 h5    h1 h2 h3 h4 h5 
    1 2 3 6 7    1 2 3 8 9 
    2 2 2 4 5    3 3 3 2 1 
    table 1     table 2 

Как я закодировать цикл для поиска первых три ячеек в каждой строке table2 в таблице 1? что таблицы имеют одинаковый формат.

Range и клетки не кажется, чтобы сделать работу, потому что я не могу использовать счетчик с ними

+0

Вы должны быть более конкретными - сделать все три клетки должны соответствовать, или что? –

+0

Итак, да, я начинаю с выбора 1 2 3 (только эти три значения) и поискать его в каждой строке в таблице 1, он соответствует, если это то же самое значение и тот же порядок (например, строка 1 в таблице 1) @Tim Williams – user2600411

+0

И тогда я делаю то же самое для каждой строки в таблице 2 @ Tim Williams – user2600411

ответ

0
Dim tlb1 as range,tbl2 as range 
dim rw1 as range, rw2 as range 

set tbl1=Range("your table1 range here") 
set tbl2=Range("your table2 range here") 

for each rw1 in tbl1.rows 
    for each rw2 in tbl2.rows 
     if rw1.cells(1)=rw2.cells(1) and rw1.cells(2)=rw2.cells(2) _ 
      and rw1.cells(3)=rw2.cells(3) then 
      'do whatever you want to do on match... 
      'Exit For 'if you want to stop when you find the first match... 
     end if 
    next rw2 
next rw1 
+0

Это выглядит великолепно. Как мне изменить это, если строки, которые я сравниваю, находятся не в одной строке lvl? Как и в строке row2 в tbl1 соответствует row1 в таблице 2. @TimWilliams – user2600411

+0

Вы попробовали? Должен уже проверять каждую строку в таблице 1 на каждую строку в таблице 2. –

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