compiler error: Expected: end of statement when using "To" statement for array range excel vba
compiler error: Expected: end of statement when using "To" statement for array range excel vba
对于我正在处理的项目,我使用参数数组从用户那里获取字符串值,然后 运行 一个自动过滤器从数组中合并字符串值。但是,每当我使用 To
语句(例如 Boundaries = LBound(ArrayHere) To UBound(ArrayHere)
)时,我都会收到以下错误:
截图:
代码:
Sub FilterWorkbookByServiceCode(FileName As String, WorkSheetName As String, Start As String, EndColumn As String, Field As Integer, ParamArray Numbers() As Variant)
Dim Boundaries As Long
Boundaries = LBound(Numbers) To Ubound(Numbers) 'Line Compiler error occurs on.
Workbooks(FileName).Worksheets(WorkSheetName).Activate
Range(Start).End(xlDown).Select
Range(EndColumn & ActiveCell.Row).Select
With Range(Start & ":" & ActiveCell.Address)
.Select
.AutoFilter Field:=Field, Criteria1:=Numbers(), Operator:=xlFilterValues
End With
End Sub
我很困惑我应该如何解决这个问题,因此非常感谢您的帮助。
编辑:
为了更清楚一点,我试图获取参数数组的范围,然后将其存储在一个变量中。我需要动态地找到数组的范围,因为用户可以将不同数量的值输入到数组中,然后调用数组中的每个值以用作自动筛选器的条件。
我没有看到 boundaries
在该语句之后使用。因此,删除导致错误的语句。
在引号中将数字传递给您的函数。
即
FilterMySheetWithTheseValues("1","2",3")
其中定义为
Sub FilterMySheetWithTheseValues(paramarray numbers() as variant)
Range("A1:A10").AutoFilter 1, numbers, xlFilterValues
End Sub
编辑:
更改调用
来自 .AutoFilter Field:=Field, Criteria1:=Numbers(), Operator:=xlFilterValues
到
.AutoFilter Field, Numbers, xlFilterValues
对于我正在处理的项目,我使用参数数组从用户那里获取字符串值,然后 运行 一个自动过滤器从数组中合并字符串值。但是,每当我使用 To
语句(例如 Boundaries = LBound(ArrayHere) To UBound(ArrayHere)
)时,我都会收到以下错误:
截图:
代码:
Sub FilterWorkbookByServiceCode(FileName As String, WorkSheetName As String, Start As String, EndColumn As String, Field As Integer, ParamArray Numbers() As Variant)
Dim Boundaries As Long
Boundaries = LBound(Numbers) To Ubound(Numbers) 'Line Compiler error occurs on.
Workbooks(FileName).Worksheets(WorkSheetName).Activate
Range(Start).End(xlDown).Select
Range(EndColumn & ActiveCell.Row).Select
With Range(Start & ":" & ActiveCell.Address)
.Select
.AutoFilter Field:=Field, Criteria1:=Numbers(), Operator:=xlFilterValues
End With
End Sub
我很困惑我应该如何解决这个问题,因此非常感谢您的帮助。
编辑:
为了更清楚一点,我试图获取参数数组的范围,然后将其存储在一个变量中。我需要动态地找到数组的范围,因为用户可以将不同数量的值输入到数组中,然后调用数组中的每个值以用作自动筛选器的条件。
我没有看到 boundaries
在该语句之后使用。因此,删除导致错误的语句。
在引号中将数字传递给您的函数。 即
FilterMySheetWithTheseValues("1","2",3")
其中定义为
Sub FilterMySheetWithTheseValues(paramarray numbers() as variant)
Range("A1:A10").AutoFilter 1, numbers, xlFilterValues
End Sub
编辑:
更改调用
来自 .AutoFilter Field:=Field, Criteria1:=Numbers(), Operator:=xlFilterValues
到
.AutoFilter Field, Numbers, xlFilterValues