Макрос нахождения ячейки и присвоения всем нижестоящим ячейкам конкр-ых значений

Автор FirEx, 05 июля 2014, 22:51

FirEx

Здравие всем желаю! Помогите, пожалуйста, со следующей задачей:
В документы имеется ячейка со словом "Слово", нужен макрос, который всем ячейкам нижестоящих от этой ячейки со словом "Слово" присвоил бы значение "5". Заранее благодарен!

[вложение удалено администратором]

Администратор

FirEx, макросу нужно искать в столбце "D" слово "Слово", чтобы понять, куда вставлять данные?
Или слово "Слово" всегда находится в одном и том же месте?

FirEx

Столбец не меняется, а вот строка - да...Слово "Слово" будет гулять по столбцу.

Администратор

FirEx, а до какой строки макрос должен вставить данные под словом "Слово"?
До конца листа или по какому-то принципу?

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
[свернуть]

FirEx

Супер! Нигде так не делают и не расписывают! Спасибо большое! Как раз то, что нужно, и как это нужно было.