[identity profile] napisvzhurnal.livejournal.com posting in [community profile] useful_faq
Как в таблице Excel написать простой макрос позволяющий найти строки с нужным словом и копировать их в буфер?

Получиться такой?

Date: 2014-03-13 05:25 pm (UTC)
From: [identity profile] re-xor.livejournal.com
На второй вопрос - ответ "да".
Прямо сейчас совсем нет времени, но если вдруг никто не напишет, то я могу вспомнить былое :)

Date: 2014-03-13 05:31 pm (UTC)
From: [identity profile] re-xor.livejournal.com
Поиск в интернете. А вообще-то проще всего встроенную Справку Экселя посмотреть.
Edited Date: 2014-03-13 05:31 pm (UTC)

Date: 2014-03-18 10:50 pm (UTC)
From: [identity profile] re-xor.livejournal.com
Вам ведь на форуме дали правильный ответ. Если что-то не устраивает, то это значит надо точнее формулировать вопрос, о чем неоднократно было сказано. Если бы вели себя более уважительно, то получили бы нужный результат. Слова "пожалуйста", "спасибо", "извините" очень помогают при подобном общении.

Date: 2014-03-19 12:54 pm (UTC)
From: [identity profile] re-xor.livejournal.com
Первый ответ я сейчас не могу посмотреть (нет Экселя под рукой).
Во втором ответе на форуме приведена программа, которая копирует в буфер строки, содержающие ячейки с заданным словом. И это можно считать правильным ответом на ваш вопрос, если соответствующим образом понимать формулировку этого вопроса.

Если вы считаете, что "получилось не то", то это значит, что вы другим образом понимаете формулировку своего вопроса. Но это не значит, что другие люди будут понимать его точно так же. Поэтому все и повторяют вам, что вопрос надо формулировать более детально. Чтобы избежать различий в его понимании. Полезно бывает привести пример.

Например, что вы понимаете под строкой? В том ответе, который был дан, под строкой понимается строка таблицы, то есть горизонтальная последовательность ячеек таблицы (текущего листа). Что значит "строка с нужным словом"?

Претензии к вам и возникают из-за того, что вы не потрудились более подробно изложить ваш вопрос, и сейчас вдруг оказывается, что "получилось не то". В итоге, это привело к тому, что люди бесполезно потратили свое время на написание ненужной программы, только из-за того, что вы не пояснили детали вашего вопроса.

Date: 2014-03-19 04:50 pm (UTC)
From: [identity profile] re-xor.livejournal.com
Вот не поленился и специально проверил. У меня эта программа работает, как ожидалось.
Выделяет и копирует в буфер строки с заданным словом. В оригинале там в качестве слова указано "Вася". Чтобы строка выделялась надо, чтобы какая-то ячейка содержало в точности такое же слово, как указано в программе, и ничего кроме этого слова.
И кстати в программе лучше сделать исправление.
Вместо строки

ra.Copy

можно написать

If Not ra Is Nothing Then
ra.Copy
Else
MsgBox "Ничего не найдено!"
End If

тогда не будет вылетать, если ничего не найдено, выдавать сообщение об этом.

Date: 2014-03-19 05:08 pm (UTC)
From: [identity profile] re-xor.livejournal.com
Проверял на 2002.

Date: 2014-03-19 05:37 pm (UTC)
From: [identity profile] re-xor.livejournal.com
Я не помню, как это в более новых версиях. В моей версии немного другим способом я делаю.
Что происходит при выполнении?

Date: 2014-03-19 05:58 pm (UTC)
From: [identity profile] re-xor.livejournal.com
Скорее всего, это означает, что заданное слово не находится.
Выше я писал, чтобы заменить строку ra.Copy на фрагмент программы.
Тогда вместо этой ошибки должно появляться окно с сообщений, что ничего не найдено.
И попробуйте другое слово или число, возможно, в ячейке есть еще пробелы, тогда слово не будет находиться.

Date: 2014-03-19 06:52 pm (UTC)
From: [identity profile] re-xor.livejournal.com
В пустой ячейке напишите Pioneer и проверьте, находит или нет.
Если не находит, то в программе замените "Pioneer" на "1" и в пустую ячейку таблицы напишите число 1. Проверьте.
Потом попробуйте поменять iCell.Value на iCell.Text

Date: 2014-03-19 08:05 pm (UTC)
From: [identity profile] re-xor.livejournal.com
Сейчас опять нет возможности в Экселе открыть. Поэтому сейчас посмотреть не могу.
Но вообще советую написать на том форуме, что все заработало, и поблагодарить за помощь.
После этого попробуйте задать вопрос там на форуме, что может ограничивать работу макроса в этом файле.
И может быть стоить там же извиниться за несколько агрессивный стиль общения. Если бы почаще добавляли слова "пожалуйста" и "спасибо", то там бы к вам совсем другим образом отнеслись, и не понадобилось бы приносить извинения. Попробуйте прочитать еще раз свой разговор там, поставив себя на место участников форума.