Vba 为下一个循环选择单独的行
我想做下一个循环, 首先,我将选择第1行和第2行,然后选择第1行和第3行,然后选择第1行和第4行……等等 我尝试了以下方法,但excel会将我的“I”视为第I列,而不是行号。如何解决这个问题Vba 为下一个循环选择单独的行,vba,excel,Vba,Excel,我想做下一个循环, 首先,我将选择第1行和第2行,然后选择第1行和第3行,然后选择第1行和第4行……等等 我尝试了以下方法,但excel会将我的“I”视为第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 您不能在字符串中插入变量名称-您需要在字符串中包含变量的值 Sub t
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
您不能在
字符串中插入变量名称-您需要在字符串中包含变量的值
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
注意:不需要实际选择范围:
Sub test123()
Dim i As Long
For i = 2 To 51
Range("1:1," & i & ":" & i).Copy
'other code
Next i
End Sub
您不能在字符串中插入变量名称-您需要在字符串中包含变量的值
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
注意:不需要实际选择范围:
Sub test123()
Dim i As Long
For i = 2 To 51
Range("1:1," & i & ":" & i).Copy
'other code
Next i
End Sub
另一种替代方法是在要复制的每对行之间使用联合
:
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
注意:复制前无需选择
范围,您可以直接在完全限定的范围上使用副本。另一种方法是在要复制的每对行之间使用联合
:
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
注意:在复制之前,您需要选择范围,您可以直接在完全限定的范围内使用副本。@ShaiRado-我也应该在其周围放置一个带ActiveSheet的,
,但每次只上一节课。非常感谢您的帮助和建议。@YowE3K代码工作得很好,但是我真的不明白代码背后的意思(“1:1,&I&“:”&I),你能给我一个答案吗hand@Geoffrey表示“1:1,”&i&“:“&i
的部分是获取一个“1:1,
字符串,并将变量i
的值连接到它,然后连接字符串”:”
然后再次连接变量的值i
。因此,如果i
的值当前为3
,那么它将创建一个“1:1,3:3”
@ShaiRado的最后字符串-我也应该在其周围放置一个带ActiveSheet的,
,但每次只上一节课。非常感谢您的帮助和建议。@YowE3K这些代码工作得很好,但是我真的不明白代码背后的意思(“1:1,&I&“:”&I),你能给我一个答案吗hand@Geoffrey表示“1:1,”&i&“:“&i
的部分是获取一个“1:1,
字符串,并将变量i
的值连接到它,然后连接字符串”:”
然后再次连接变量的值i
。因此,如果i
的值当前为3
,那么它将创建最后一个字符串“1:1,3:3”
。