我试图设置一个程序,查找列“G”中的单元格,如果值大于1,则复制整个表行,插入一行(根据值多次插入- 1)并将该值粘贴到每个新插入的行中。
因此,如果在单元格“G4”中有一个数量为3,那么我想复制该单元格的行,并在它下面插入一行2次,然后粘贴复制的值。
下面是我到目前为止的…
**注意,所有这些都在Excel中的表格中。(不确定这是否是我的代码的一部分)
Dim Qty As Range
For Each Qty In Range("G:G").cells
If Qty.Value > 1 Then
Qty.EntireRow.cell
Selection.Copy
ActiveCell.Offset(1).EntireRow.Insert
Selection.Paste
Selection.Font.Strikethrough = True
End If
Next
End Sub
1条答案
按热度按时间6ojccjat1#
您的方法和代码存在许多问题
1.你说数据在Excel表格中。好好利用这点
1.从下向上将行插入范围循环时。这可以防止插入的行干扰循环索引
1.不要使用
Selection
(即使使用了,您的逻辑也不会操作ActiveCell)1.不要循环遍历整列(那是一百万行)。将其限制为表大小
下面是这些想法的演示