Страницы: 1
RSS
Найти номер строки-оригинала на другом листе
 
добрый день.
в макросе:
Код
Sheets("Данные").Select
Set fcell = Columns("A:A").Find("123")
If Not fcell Is Nothing Then
    MsgBox "Нашел в строке: " + CStr(fcell.Row)
End If

ищем значение (123), а мне нужно найти не одно значение - строку из 15 ячеек со значениями
как это правильно переделать ?
 
перефразирую задачу.
на Листе2 есть таблица с данными (15 столбцов , строк неограниченно)
чтобы ее нельзя было "испортить", она копируется на Лист1.

на Листе1 выбирая строку (даблкликом например) нужно найти номер строки-оригинала на Листе2

чем это лучше сделать ?
 
Цитата
brother_alex написал: чем это лучше сделать ?
Макросом. Для развёрнутого ответа нужен файл-пример.

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
пример таблицы даю.
на Листе2 таблица в которой нужно найти номер строки
на Листе1 таблица с теми=же данными что на Листе2, только строки перепутаны.

нужно чтобы при даблклике на строке Листа1 - находило номер этой строки на Листе2.

пробовал так: a & b & c & ... сцепкой значений строки с Листа1 и поиск перебором на Листе2.
очень долго - таблица громадная.
хочется что-то побыстрее

спасибо
 
Цитата
brother_alex написал: нужно чтобы при даблклике на строке Листа1 - находило номер этой строки на Листе2
Нашли, и что дальше?

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
мне надо только это
 
в модуль листа Лист2


в отдельный модуль
Изменено: JayBhagavan - 05.12.2018 14:43:14

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
Спасибо.
разобрался.
это такой-же перебор как и просто соединить все значения искомой строки и в цикле по другому листу искать совпадение.
так-медленно получается.

жаль что быстрее никак
 
Код
        tfFind = True
        
        For i = 1 To N
            If rngRowFind.Cells(1, i).Value <> rngRow.Cells(1, i).Value Then  tfFind = False: Exit For
        Next i
 
этот код куда ставить ?
 
Это упрощение цикла из сообщения №7
 
можете весь код дать ? а то не понимаю где его ставить
 
все - понял
 
vikttur, спасибо за замечание. Исправляю...

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
сократил вроде все ненужное мне.
есть просьба. как сделать весь этот код в модуле листа2 - без отдельного модуля Module1 ?
 
brother_alex, вырежьте код из Module1 и вставьте в модуль листа2. Всего делов-то.

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
там-же обрашщение к макросу Call jjj_find
как правильно вставлять ?
 
Скрытый текст
Изменено: JayBhagavan - 06.12.2018 20:41:51 (добавил комментарии)

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
Страницы: 1
Наверх