Здравие всем желаю! Помогите, пожалуйста, со следующей задачей:
В документы имеется ячейка со словом "Слово", нужен макрос, который всем ячейкам нижестоящих от этой ячейки со словом "Слово" присвоил бы значение "5". Заранее благодарен!
[вложение удалено администратором]
FirEx, макросу нужно искать в столбце "D" слово "Слово", чтобы понять, куда вставлять данные?
Или слово "Слово" всегда находится в одном и том же месте?
Столбец не меняется, а вот строка - да...Слово "Слово" будет гулять по столбцу.
FirEx, а до какой строки макрос должен вставить данные под словом "Слово"?
До конца листа или по какому-то принципу?
Можно до конца листа, можно пунктов на 500. Ненужное я потом удалю.
Макрос
Sub Procedure1()
Dim rngFind As Excel.Range
'1.
'Поиск слова "Слово" в столбце "D".
'Поиск с использованием Excel-команды "Find" связан
'с Excel-окном "Найти и заменить", поэтому можете в этом окне
'смотреть какие-нибудь детали.
'VBA-наименование найденной ячейки. Найденной ячейке
'будет присвоено VBA-имя "rngFind", через
'которое можно управлять найденной ячейкой.
'LookIn:=xlValues - Область поиска "значения".
'LookAt:=xlWhole - флажок "Ячейка целиком".
'SearchOrder:=xlByColumns - Просматривать "по столбцам".
'SearchDirection:=xlNext - поиск сверху вниз.
'MatchCase:=False - флажок "Учитывать регистр".
'SearchFormat:=False - поиск форматирования (заливки и т.д.).
'В команде "Find" нужно указывать все параметры,
'даже если Вам не нужны остальные. Чтобы настройки
'окна "Найти и заменить" не повлияли на макрос.
Set rngFind = Columns("D").Find(What:="Слово", LookIn:=xlValues, LookAt:=xlWhole, _
SearchOrder:=xlByColumns, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)
'2. Вставка данных под найденной ячейкой.
'С помощью "Offset" обращаемся к нужной ячейке относительно какой-то ячейки.
'С помощью "Resize" изменяется кол-во ячеек, на которые надо воздействовать.
rngFind.Offset(1, 0).Resize(500, 1).Value = 5
End Sub
Супер! Нигде так не делают и не расписывают! Спасибо большое! Как раз то, что нужно, и как это нужно было.