Форум по VBA, Excel и Word

VBA, Excel => VBA, макросы в Excel => Тема начата: Посетитель от 19 мая 2022, 09:16

Название: Excel VBA Макросы. Подбор значения в цикле.
Отправлено: Посетитель от 19 мая 2022, 09:16
Есть вот такой макрос (получился при записи действий с экрана):

Sub Подбор_скидки()
'
' Подбор_скидки Макрос
'
' Сочетание клавиш: Ctrl+Shift+Z
'
    Range("P2").Select
    Range("U2").GoalSeek Goal:=1.6, ChangingCell:=Range("P2")
End Sub

Но он работает только с одной ячейкой. Как сделать так, чтобы макрос последовательно перебирал все ячейки столбцов P и U до тех пор, пока не встретит пустую ячейку в столбце P? Их там может быть до 30 000.

Понимаю, что нужен цикл. Пыталась разобраться по информации в интернете, не смогла.
Название: Re: Excel VBA Макросы. Подбор значения в цикле.
Отправлено: Администратор от 19 мая 2022, 09:22
Макрос
Sub Подбор_скидки()
'
' Подбор_скидки Макрос
'
' Сочетание клавиш: Ctrl+Shift+Z
'

    Dim lr As Long, i As Long
   
   
    ' Поиск последней строки в столбце P.
        ' End не ищет в скрытых строках.
    lr = Cells(Rows.Count, "P").End(xlUp).Row
   
    ' Подбор значений.
    For i = 2 To lr
        Cells(i, "U").GoalSeek Goal:=1.6, ChangingCell:=Cells(i, "P")
    Next i
   
End Sub
[свернуть]
Название: Re: Excel VBA Макросы. Подбор значения в цикле.
Отправлено: Посетитель от 19 мая 2022, 12:10
Спасибо, очень выручили.