我正在尝试进行For-Next循环, 在开始时,我将选择第1行和第2行,然后是第1行和第3行,然后第1行和第4行......等等 我试过以下但是excel会对待我的"我"作为列i而不是行号。如何解决这个问题?
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
答案 0 :(得分:2)
您无法在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
答案 1 :(得分:2)
另一种方法是在要复制的每对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
范围,您可以直接在完全限定的范围内使用副本。