我試圖做一個for-next循環, 之初單獨行,我將選擇行1 & 2,然後排1 & 3,則第1行& 4 ...等 我嘗試了以下,但Excel會把我的「我」作爲列我而不是行號。如何解決這個問題?選擇在for-next循環
Sub test123()
Dim i As Long
For i = 2 To 51
Range("1:1,i:i").Select
Selection.Copy
'other code
Next i
End Sub
我試圖做一個for-next循環, 之初單獨行,我將選擇行1 & 2,然後排1 & 3,則第1行& 4 ...等 我嘗試了以下,但Excel會把我的「我」作爲列我而不是行號。如何解決這個問題?選擇在for-next循環
Sub test123()
Dim i As Long
For i = 2 To 51
Range("1:1,i:i").Select
Selection.Copy
'other code
Next i
End Sub
不能在String
中插入你的變量名 - 您需要包括的變量String
,而不是內部的值。
Sub test123()
Dim i As Long
For i = 2 To 51
Range("1:1," & i & ":" & i).Select
Selection.Copy
'other code
Next i
End Sub
注:應該沒有必要實際Select
範圍:
Sub test123()
Dim i As Long
For i = 2 To 51
Range("1:1," & i & ":" & i).Copy
'other code
Next i
End Sub
另一種替代方式去使用Union
,要複製每對Rows
之間:
Option Explicit
Sub test123()
Dim i As Long
For i = 2 To 51
Union(Rows(1), Rows(i)).Copy
'other code
Next i
End Sub
備註:複製之前需要對Select
範圍進行復制,您可以直接在完全限定範圍內使用該複製。
加入'Option Explicit'的好工作! – YowE3K
最後更正:) –
@ShaiRado - 我也應該在其周圍放置一個'With ActiveSheet' - 但每次只有一節課。 – YowE3K
非常感謝您的幫助和建議。 – Geoffrey