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