Excel 使用范围内的2个变量自动填充
我试图设置一个自动填充范围,该范围内有两个变量。当有一个变量时,它似乎起作用,但当我将它设置为两个变量时,它似乎不起作用Excel 使用范围内的2个变量自动填充,excel,vba,Excel,Vba,我试图设置一个自动填充范围,该范围内有两个变量。当有一个变量时,它似乎起作用,但当我将它设置为两个变量时,它似乎不起作用 Dim Start Row As Integer Dim End_Row As Integer Start_Row = Cells(Rows.Count, 4).End(xlUp).Row End_Row = Cells(Rows.Count, 1).End(x1Up).Row Range("D" & Start_Row).Select Appli
Dim Start Row As Integer
Dim End_Row As Integer
Start_Row = Cells(Rows.Count, 4).End(xlUp).Row
End_Row = Cells(Rows.Count, 1).End(x1Up).Row
Range("D" & Start_Row).Select
Application.CutCopyMode = False
Selection.AutoFill Destination:= Range("D" & Start_Row : "D" & End_Row)
我得到的错误是:
编译错误:应为:列表分隔符或)
但是,当我将代码设置为:
Selection.AutoFill Destination:= Range("D:D" & End_Row)
因此,这似乎是一个特定于我何时输入另一个变量的问题
感谢您的帮助 正如Scott Craner对您的问题所作的评论,只是您没有正确构造地址字符串 假设您的
开始行
为1
,您的结束行
为10
。要传递给范围函数的是:“D1:D10”
要使冒号包含在发送到Range属性的字符串中,需要将其构建为:
“D”行和开始行&“D”行和结束行
因此,您的最终代码片段如下所示:
Dim Start Row As Integer
Dim End_Row As Integer
Start_Row = Cells(Rows.Count, 4).End(xlUp).Row
End_Row = Cells(Rows.Count, 1).End(x1Up).Row
Range("D" & Start_Row).Select
Application.CutCopyMode = False
Selection.AutoFill Destination:= Range("D" & Start_Row ":D" & End_Row)
在VBA中引用Excel中的范围时,以及在Excel本身中使用间接
函数时,这是一个非常常见的错误。“D”&Start\u Row&“:D”&End\u Row
应在引号中。