因此,我们正在开发一种新的跟踪工具。在我的宏的第一部分中,如果M列中的数量大于1,则在其下面插入许多行(负1)。我们正在尝试用自己的行隔离每个数量。因此,它显示9行数量1,而不是1行数量9。
我现在需要的是在宏的第一部分运行之后,如果列A中的单元格为空白,请从上方复制行并将其插入空单元格的行中。我知道如何在VBA中逐个单元地执行此操作(请参见下文),但是有很多空白单元格应该为空白。
用上面的单元格填充所有空单元格将不起作用,因为某些单元格需要为空。如果A列中的单元格为空白,则指示符必须位于A列中,并且需要复制以上整个行并将其粘贴到空单元格行中。
Sub Fill()
Dim lr As Long
lr = Cells(Rows.count, 1).End(xlUp).Row
On Error Resume Next
Range("A4:M" & lr).SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=R[-1]C"
End Sub
答案 0 :(得分:0)
您可以测试A列中的单元格是否为空,然后复制上面的行。可能是一种更有效的方法,但是这样做有效
Sub Fill()
Dim lr As Long
Dim x As Long
lr = Cells(Rows.Count, 1).End(xlUp).Row
For x = 2 To lr
If IsEmpty(Cells(x, 1)) Then
Cells(x - 1, 1).EntireRow.Copy Cells(x, 1)
End If
Next x
End Sub