2014-10-17 389 views
0

之後選定的行被卡住我有一個Excel電子表格,我想要在離散的數據範圍之間插入行。示例表可在https://www.dropbox.com/s/n1y7tc9urghq7q5/example.xlsx?dl=0找到。我的問題是,當我運行VBA代碼時,其中一個插入行的一部分總是被選中,我不能輕易取消選擇它。這裏是什麼樣子的截圖:EntireRow.insert 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使用Excel for Mac 2011中(14.4.5) 0.1。

回答

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 
+0

我接受了這個答案,但現在認識到,當只有2個數據塊時它會給出1004錯誤。它適用於3+,但不適用於2.任何想法可以修復? – CephBirk 2014-11-03 17:56:48

+0

出錯繼續下一步 - 在子例程的開始處添加此行 – 2014-11-05 07:44:08

+0

由於行尚未被添加,因此這不是很有幫助。確保它保持宏不會崩潰,但稍後在宏中的命令無法正常工作,因爲不會添加行。我怎樣才能避免第一個地方的錯誤? – CephBirk 2014-11-05 15:57:57