我有一个Excel文档正在处理包含行和列的表,这些表类似于我包含的图片(不是内容)。我想做两件事,其中一件是在列中的一个不同的值之后添加另一行,如图所示,我已经完成了(包括代码)。但是下一步是将列的值放在添加的行(空白)上空白/空行之后的下一行中,作为值,如图中的值Small,Med,Large。
我不是一个顽固的程序员,但我正在学习VBA,这是我在这个网站上找到的代码,用于添加一个空行:
Dim LastRow As Long
Dim i As Long
LastRow = Cells(Rows.Count, "A").End(xlUp).Row
For i = LastRow To 2 Step -1
If i = 2 Then
'Do nothing
ElseIf Cells(i, "A") <> Cells(i - 1, "A") Then
Cells(i, "A").EntireRow.Insert
End If
Next i
你能帮我添加下一行的值吗?
答案 0 :(得分:1)
您已经在填充的单元格中向上循环。每当您找到一个单元格,其中A列的值不是上面的单元格时,就会插入一行。 在if块中,只需获取B列中的值,即可获得下面的代码。 另外,当你到达第2排时为什么什么都不做?由于您要在上面插入另一个空的,因此应该包含它。 最终结果:
Dim LastRow As Long
Dim i As Long
LastRow = Cells(Rows.Count, "A").End(xlUp).Row
For i = LastRow To 2 Step -1
If Cells(i, "A") <> Cells(i - 1, "A") Then
Cells(i, "A").EntireRow.Insert
Cells(i, "B").Value = Cells(i + 1, "B").Value 'i + 1 would be the next row
End If
Next i