所选行在EntireRow.insert VBA命令后被卡住
我有一个Excel电子表格,我想在离散的数据范围之间插入行。有关示例表,请访问。我的问题是,当我运行VBA代码时,插入行的一部分总是被选中,我无法轻松取消选中。下面是它的屏幕截图: 我使用的代码是:所选行在EntireRow.insert VBA命令后被卡住,vba,Vba,我有一个Excel电子表格,我想在离散的数据范围之间插入行。有关示例表,请访问。我的问题是,当我运行VBA代码时,插入行的一部分总是被选中,我无法轻松取消选中。下面是它的屏幕截图: 我使用的代码是: 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.inse
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)。假设您想在每个范围块中插入两行(如果我错了,请更正我) 这个代码就行了
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
我接受了这个答案,但现在意识到,当只有两个数据块时,它会给出一个1004错误。使用3+时效果很好,但不使用2。知道可以修复什么吗?在错误恢复下一步-将这一行添加到子例程的开头这不是很有帮助,因为这些行仍然没有被添加。当然,它可以防止宏崩溃,但是宏中稍后的命令无法正常运行,因为没有添加行。首先,我如何避免错误?