在EntireRow.insert VBA命令之后,所选行被卡住

时间:2014-10-17 03:10:14

标签: vba

我有一个Excel电子表格,我希望在离散的数据范围之间插入行。可以在https://www.dropbox.com/s/n1y7tc9urghq7q5/example.xlsx?dl=0找到示例表。我的问题是,当我运行VBA代码时,其中一个插入的行的一部分总是被卡住选中,我无法轻易取消选择它。这是一个截图:

Error

我使用的代码是:

Sub insertrows()
For i = 1 To 2
Range("A1").Select
For j = 1 To i * 2 - 1
    Selection.End(xlDown).Select
Next j
ActiveCell.Offset(1).EntireRow.insert
    ActiveCell.Offset(1).EntireRow.insert
Next i
Range("A1").Select
End Sub

我在MacBook OS X 10.10.1上使用Excel for Mac 2011(14.4.5)。

1 个答案:

答案 0 :(得分:1)

假设您要在每个范围块中插入两行(如果我错了,请纠正我)

这段代码可以。

Sub insertrows()
Dim lrow As Long
Range("A1").Select
Selection.End(xlDown).Select

Do
ActiveCell.Offset(1).EntireRow.Insert
ActiveCell.Offset(1).EntireRow.Insert
Selection.End(xlDown).Select
Selection.End(xlDown).Select
lrow = ActiveCell.Row

Loop Until lrow = Rows.Count

End Sub