У меня есть лист данных со списком "product" в диапазоне B38:B161
и столбцом "на заказ" в диапазоне I38:I161
который будет обновляться вручную. Таким образом, когда ячейки в диапазоне "I" обновляются с номером на заказ, продукт из диапазона "B" будет скопирован в диапазон J38:J161
первая пустая ячейка J161 . Как мне этого добиться?
Сценарий у меня есть:
Sub copyAboveZero()
Dim sourceRng As Range
Dim cell As Range
Dim i As Long
Set sourceRng = ActiveSheet.Range("I38:I161")
i = 1
For Each cell In sourceRng
If cell.Value > 0 Then
cell.Resize(1, 1).Copy Destination:=Range("J" & i)
i = i + 1
End If
Next cell
End Sub
Но этот код копирует только диапазон "I" больше нуля ячеек, в то время как я хочу скопировать ячейки из диапазона "B" и вставить его в диапазон "J", если это имеет смысл.
Пример данных:
Column B Column I Column J
text1 0 text2
text2 6 text4
text3 0 text5
text4 12
text5 24