我正在尝试创建一个宏,该宏将复制一系列值B6:BM6
并将其粘贴到下面的行中,如果A列中有值。
因此:如果填充了列A6
,请从上面的行复制范围并将其粘贴到B6
。循环,直到A列中没有值。
Sub fillEmptycells()
Dim i As Integer
Dim lastRow As Integer
With ActiveSheet
lastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
For i = 2 To lastRow
If IsEmpty(.Cells(i, 2)) And Not IsEmpty(.Cells(i, 1)) Then
.Range(Cells(i - 1, 2), Cells(i - 1, 100)).Copy .Cells(i, 2)
End If
Next i
End With
End Sub
有人能帮助我吗?
答案 0 :(得分:0)
目前您只复制一个单元格,而不是整个范围。您需要更改调用Copy方法的范围,以包括要复制的所有单元格。 If语句中的代码将更改为:
.Range(Cells(i-1,2),Cells(i-1,x)).Copy .Cells(i,2)
其中x将是您要复制的最后一列的列号。