Сравнение строк в определённом диапазоне в 2ух таблицах размещённых на двух листах. Решить формулoй Сам файл не прилогается так как смысла нет, он пустой.
Нужно сделать Лист 1 и Лист 2.
и что бы строка в "Листе1" в диапазоне от А1 до Р1 искалась в "Листе 2" в любой строке которые там есть в том же диапазоне (от А1 до Р1) и если находилась, то "ок".
Решил. Но прилагать решение смысла нет, так как на пустом листе ничего не находит, следовательно "ок" Вы все-равно не увидите[/admin]
Сравнение строк в определённом диапазоне в 2ух таблицах размещённых на двух листах. Решить формулoй Сам файл не прилогается так как смысла нет, он пустой.
Нужно сделать Лист 1 и Лист 2.
и что бы строка в "Листе1" в диапазоне от А1 до Р1 искалась в "Листе 2" в любой строке которые там есть в том же диапазоне (от А1 до Р1) и если находилась, то "ок".
Если все ячейки одной строки (На листе1) в определённом диапазоне (В данном случае от А до H) совпадают с любой строкой на листе 2, которая так же имеет определённый диапазон ячеек , то выводилось "ок" в ячейке АА1,АА2 итд .
Например на Листе 1 строка 2 и на листе 2 строка 13. Они в даннoм случае совпадают, все ячейки в этом диапазоне равны, следовательно в строкe 2 на Листе 1, в ячейке АА2 должно появится "ок"
Хорошо вот пример
Если все ячейки одной строки (На листе1) в определённом диапазоне (В данном случае от А до H) совпадают с любой строкой на листе 2, которая так же имеет определённый диапазон ячеек , то выводилось "ок" в ячейке АА1,АА2 итд .
Например на Листе 1 строка 2 и на листе 2 строка 13. Они в даннoм случае совпадают, все ячейки в этом диапазоне равны, следовательно в строкe 2 на Листе 1, в ячейке АА2 должно появится "ок"Dk100
Проба пера. Давим кнопку, Дальше она сама все сделает. Ну, может, и не сама (Alt-F11 - редактор VBA) А может, и не сделает (если работу макросов запретить).
Проба пера. Давим кнопку, Дальше она сама все сделает. Ну, может, и не сама (Alt-F11 - редактор VBA) А может, и не сделает (если работу макросов запретить).vikttur
Вить, специально для тебя. Правда тоже с циклами..
[vba]
Код
Sub Мяу() ArrData = Worksheets("Лист2").Range("A1:H20").Value ArrString = Worksheets("Лист1").Range("A1:H5").Value With CreateObject("scripting.dictionary") For i = 1 To UBound(ArrData) If Len(Join(Application.Index(ArrData, i, 0), "")) Then .Item(Join(Application.Index(ArrData, i, 0), "")) = i End If Next For i = 1 To UBound(ArrString) If .exists(Join(Application.Index(ArrString, i, 0), "")) Then ArrString(i, 1) = "оно в строке " & .Item(Join(Application.Index(ArrString, i, 0), "")) Else ArrString(i, 1) = "нетути" End If Next End With Worksheets("Лист1").Cells(1, 27).Resize(UBound(ArrString, 1), 1).Value = ArrString End Sub
[/vba]
Вить, специально для тебя. Правда тоже с циклами..
[vba]
Код
Sub Мяу() ArrData = Worksheets("Лист2").Range("A1:H20").Value ArrString = Worksheets("Лист1").Range("A1:H5").Value With CreateObject("scripting.dictionary") For i = 1 To UBound(ArrData) If Len(Join(Application.Index(ArrData, i, 0), "")) Then .Item(Join(Application.Index(ArrData, i, 0), "")) = i End If Next For i = 1 To UBound(ArrString) If .exists(Join(Application.Index(ArrString, i, 0), "")) Then ArrString(i, 1) = "оно в строке " & .Item(Join(Application.Index(ArrString, i, 0), "")) Else ArrString(i, 1) = "нетути" End If Next End With Worksheets("Лист1").Cells(1, 27).Resize(UBound(ArrString, 1), 1).Value = ArrString End Sub
Но на практике столкнулся ещё с одной штукой. Мне иногда не все столбцы нужны. Например, если я хочу исключить столбец B и D из сравнения, что нужно прописать в скрипте?
Всё работает! )
Но на практике столкнулся ещё с одной штукой. Мне иногда не все столбцы нужны. Например, если я хочу исключить столбец B и D из сравнения, что нужно прописать в скрипте?Dk100
Сообщение отредактировал Dk100 - Среда, 18.12.2013, 20:37
А потом столкнетесь ещё с одной штукой. И еще... Виктор до фанатизма любит переделывать свои решения. Ему и днем и ночью нечего делать, вот он и ищет - чего бы такого еще переделать.
А потом столкнетесь ещё с одной штукой. И еще... Виктор до фанатизма любит переделывать свои решения. Ему и днем и ночью нечего делать, вот он и ищет - чего бы такого еще переделать. KuklP
Ну с НДС и мы чего-то стoим! kuklp60@gmail.com WM Z206653985942, R334086032478, U238399322728
Переделкой себя не мучил. Просто добавил строку для проверки номера столбца [offtop]Модераторам: т.к. тема с формульной перешла в VBA (и кто тут такой виноватый? - перекинуть в другой раздел (после того, как автор посмотрит)?)[/offtop]
Переделкой себя не мучил. Просто добавил строку для проверки номера столбца [offtop]Модераторам: т.к. тема с формульной перешла в VBA (и кто тут такой виноватый? - перекинуть в другой раздел (после того, как автор посмотрит)?)[/offtop]vikttur