Диапазон значений ячейки на основе другого значения диапазона

#excel #vba

#excel #vba

Вопрос:

Я пытаюсь заполнить значения столбца C на своем листе на основе значения в столбце A. Итак, если значение столбца A равно 1, то я хочу, чтобы значение в соответствующей ячейке в столбце C было равно 10, иначе ничего не делайте.

 Sub test()

For Each cell In Sheets("Report").Range("A9:A" amp; LastRow)
   If cell.Value = 1 Then
      cell.Offset(0, 2).Value = 10
   End If
Next cell

End Sub
 

Был бы признателен за любую помощь и покажите мне лучший способ, если есть.
Спасибо

Комментарии:

1. С какой проблемой вы столкнулись? Вы не определяете LastRow . Также определите cell как Range .

2. Я получаю «Ошибка времени выполнения ‘1004’: ошибка, определенная приложением или объектом»

Ответ №1:

Попробуйте ниже.

 Sub test()
Dim sh As Worksheet
Dim cel As Range
Dim LastRow As Long

    Set sh = ThisWorkbook.Worksheets("Report")
    LastRow = sh.Cells(sh.Rows.Count, 1).End(xlUp).Row
    For Each cel In sh.Range("A9:A" amp; LastRow)
       If cel.Value = 1 Then
          cel.Offset(0, 2).Value = 10
       End If
    Next cel
    Set sh = Nothing

End Sub
 

Комментарии:

1. Хотя могу я спросить, почему вы использовали это «Set sh = Nothing»?

2. Set sh = Nothing строка очищает память.