我有一个名为 ABC 的工作表
我需要在每列值的末尾添加新行。例如,在“aaa”末尾和“bbb”末尾的 Product ID 列中,我需要将 aaa 的副本插入到 aaa 末尾的新行中,并将 bbb 的副本插入到 bbb 末尾的新行中.
Dim cell As Range
For Each cell In Range("c2:c7")
If cell.Value = "aaa" Then
cell.EntireRow.Insert
End If
Next cell
但它在找到 aaa
值之后插入,我需要在 aaa
的末尾
答案 0 :(得分:1)
您的进展非常顺利,但是,您的代码需要进行两项更改。
第一个是使 "aaa"
引用动态化,即您不希望您的代码总是寻找 "aaa"
,而是总是检查“循环”单元格的值。
第二个变化是循环本身。由于您的目标是插入行,因此您的表格范围将扩大,因此您的循环将无法达到其目的。相反,您应该从表格的底部循环到最顶部。
这是您要测试的代码:
Sub foo()
Dim lngRow As Long
With Sheet1
For lngRow = 10 To 3 Step -1
If .Range("C" & lngRow).Value <> .Range("C" & lngRow + 1).Value Then
.Range("C" & lngRow + 1).EntireRow.Insert
.Range("C" & lngRow + 1).Value = .Range("C" & lngRow).Value
End If
Next lngRow
End With
End Sub
代码运行结果如下: