2013-08-14 2 views
-2

У меня есть файл Excel со многими листами. Я хотел бы найти строку в любой ячейке существующих листов и скопировать ее на новый лист «Результаты». Мне нужно получить строки, в которых найдено много строк (около 50 различных строк), и эти результаты появляются в отдельной строке.VBA Excel - найти строки во всех листах и ​​скопировать совпадающие строки на новый лист

Было бы здорово, если бы я мог предоставить набор строк для поиска и что лист «Результаты» имеет пустую строку между блоками результатов (для разделения блоков найденных строк).

Я искал это уже, но нашел код, который копирует строки соответствующих строк, но они выполняют поиск только на одном листе, и мне нужно искать во всех существующих листах (за исключением листа «Результаты», конечно).

Я по-настоящему высоко ценю вашу помощь!

+3

Это не сайт, где вы просите, чтобы все было закодировано для вас. – ApplePie

+0

Или вы можете публиковать как минимум почтовые коды того, что вы пробовали до сих пор. –

ответ

1

Если у вас есть ProcessSheet функцию, которая работает на одном листе вы можете запустить его на каждом листе с somethign как:

Dim Sh As WorkSheet 
For Each Sh In Sheets 
    If Sh.Name <> "Sheet not to process" Then ProcessSheet Sh 
Next Sh 

и изменить ProcessSheet так, что каждая ссылка использует Sh, как это:

'without sheet reference 
Cells(1, 2) 
Range("A1") 
'become 
Sh.Cells(1, 2) 
Sh.Range("A1") 
Смежные вопросы