Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 使用范围内的2个变量自动填充_Excel_Vba - Fatal编程技术网

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
应在引号中。