Если ячейка пуста, взять значение из соседней ячейки Excel VBA
Цикл проходит, а значение не берется :( Подскажите, как можно обратиться к соседней ячейкe(из колонки J)
Dim i As Long, n As Long
With Columns("I")
n = .Cells.Count
For i = 1 To n
If .Cells(i).Value = 0 And IsEmpty(.Cells(i)) = True Then
.Cells(i).Value = .Cells(i, i + 1).Value
End If
Next
End With
Ответы (1 шт):
Автор решения: Алексей Р
→ Ссылка
Перебирать все 1048576 ячеек в столбце избыточно, лучше ограничиться .UsedRange или найти последнюю ячейку и перебирать до нее.
Чтобы обратиться к ячейке справа, используйте смещение .Offset(, 1).
Sub test2()
Dim cl
For Each cl In Intersect(ActiveSheet.Columns("I"), ActiveSheet.UsedRange)
If IsEmpty(cl) Then cl.Value = cl.Offset(, 1)
Next
End Sub