Всем доброго дня, просьба помочь. Нужно на листе 1 в столбце "телефон" найти номер из листа 2 и если будет совпадение то в той строке где есть совпадение заменить значение из столбца источник на значение "директ"
Всем доброго дня, просьба помочь. Нужно на листе 1 в столбце "телефон" найти номер из листа 2 и если будет совпадение то в той строке где есть совпадение заменить значение из столбца источник на значение "директ"ches66
Sub tt() With Sheets("Лист2") n_ = .Cells(.Rows.Count, 1).End(3).Row ar = .Cells(1).Resize(.Cells(.Rows.Count, 1).End(3).Row) End With d_ = "Директ" n1_ = Cells(Rows.Count, 2).End(3).Row - 1 ar1 = Cells(2, 2).Resize(n1_) ar2 = Cells(2, 3).Resize(n1_) With CreateObject("Scripting.Dictionary") 'словарь нужен, чтобы убрать множественные дубликаты в листе2. Можно без этого, но на больших объемах лучше без дублей 'можно было удалить дубли сразу на листе 2, но можно ли там что-то менять? Не знаю For r = 1 To n_ a = .Item(ar(r, 1)) Next r nn_ = .Count - 1 For i = 1 To n1_ For j = 0 To nn_ If ar2(i, 1) <> d_ Then If InStr(ar1(i, 1), .keys()(j)) Then ar2(i, 1) = d_ End If End If Next j Next i End With Cells(2, 3).Resize(n1_) = ar2 End Sub
Sub tt() With Sheets("Лист2") n_ = .Cells(.Rows.Count, 1).End(3).Row ar = .Cells(1).Resize(.Cells(.Rows.Count, 1).End(3).Row) End With d_ = "Директ" n1_ = Cells(Rows.Count, 2).End(3).Row - 1 ar1 = Cells(2, 2).Resize(n1_) ar2 = Cells(2, 3).Resize(n1_) With CreateObject("Scripting.Dictionary") 'словарь нужен, чтобы убрать множественные дубликаты в листе2. Можно без этого, но на больших объемах лучше без дублей 'можно было удалить дубли сразу на листе 2, но можно ли там что-то менять? Не знаю For r = 1 To n_ a = .Item(ar(r, 1)) Next r nn_ = .Count - 1 For i = 1 To n1_ For j = 0 To nn_ If ar2(i, 1) <> d_ Then If InStr(ar1(i, 1), .keys()(j)) Then ar2(i, 1) = d_ End If End If Next j Next i End With Cells(2, 3).Resize(n1_) = ar2 End Sub
_Boroda_, Спасибо !!! На вашем файле все сработало!!! Я добавил в файл еще строки , и перестало работать, но там есть пустые ячейки в столбце B , макрос их обработает ? Дубли конечно можно удалять. Главное сопоставить номера, и если есть то поменять в столбце C источник на "директ"
_Boroda_, Спасибо !!! На вашем файле все сработало!!! Я добавил в файл еще строки , и перестало работать, но там есть пустые ячейки в столбце B , макрос их обработает ? Дубли конечно можно удалять. Главное сопоставить номера, и если есть то поменять в столбце C источник на "директ"ches66
_Boroda_, Итак в вашем файле который вы прислали нажимашь кнопку заполнить и все прекрасно работает, в какой строчке находит телефон меняет статус на "директ", я добавил к существующим строкам строки которые мне еще нужно обработать и теперь весь файл перестал обрабатываться - полностью. Нажимаешь кнопку и ничего не происходит. Файл с новымми строками прикреплял выше. В строках которые добавил встречаются пустые ячейки с незаполненным номером. Спасибо.
_Boroda_, Итак в вашем файле который вы прислали нажимашь кнопку заполнить и все прекрасно работает, в какой строчке находит телефон меняет статус на "директ", я добавил к существующим строкам строки которые мне еще нужно обработать и теперь весь файл перестал обрабатываться - полностью. Нажимаешь кнопку и ничего не происходит. Файл с новымми строками прикреплял выше. В строках которые добавил встречаются пустые ячейки с незаполненным номером. Спасибо.ches66
Сообщение отредактировал ches66 - Вторник, 09.10.2018, 13:12
Кнропка "Вернуть" - это не для Вас, это мне возврат нужен был для проверки. Эта кнопка да, она на конкретный диапазон была (до строки 65), чтобы не морочиться, но Вас это вообще волновать не должно Вам нужна кнопка "Заполнить", которая работает с любыми диапазонами. Какая КОНКРЕТНО строчка Вас не устраивает? Где не меняет?
Держите на всякий случай файл с одной кнопкой и без возврата предыдущих значений.
Кнропка "Вернуть" - это не для Вас, это мне возврат нужен был для проверки. Эта кнопка да, она на конкретный диапазон была (до строки 65), чтобы не морочиться, но Вас это вообще волновать не должно Вам нужна кнопка "Заполнить", которая работает с любыми диапазонами. Какая КОНКРЕТНО строчка Вас не устраивает? Где не меняет?
Держите на всякий случай файл с одной кнопкой и без возврата предыдущих значений._Boroda_
_Boroda_, Все извините проверил, блин я не с тем с сравнивал ,я сравнивал уже с переделанной таблицей !!! Все работает здорово! Спасибо большое!
_Boroda_, Все извините проверил, блин я не с тем с сравнивал ,я сравнивал уже с переделанной таблицей !!! Все работает здорово! Спасибо большое! ches66