自动筛选条件中的 LEFT 函数

LEFT Function in an autofilter criteria

提问人:AesusV 提问时间:1/7/2022 最后编辑:braXAesusV 更新时间:1/7/2022 访问量:172

问:

我正在尝试使用 LEFT 函数从要在自动筛选函数中使用的值中剪掉最后几个数字(最终用户使用与数据库格式不同的数据)。

我在下面有我的代码,在条件部分没有 LEFT 函数的情况下它可以正常工作,但是语法/声明(?) 有问题。

'
        Dim C2 As Variant
        C2 = Worksheets("Display Page").Cells(2, 3).Value

        Application.Calculation = xlAutomatic   'Restarts automatic calculations so that tables can be filtered and data pull formulas can be run
'
        Sheets("Database").Range("B$24:BKL71499").AutoFilter Field:=WorksheetFunction.Match(Range("D2"), _
            Worksheets("Car Park 19-21 BDDS").Range("B23:BL23"), 0), Criteria1:=Left(Cells(C2), 5).Value
'
        Application.Calculation = xlManual      'Restarts manual calculations only for workbook speed
End Sub

如果没有 C2 周围的引号,我会得到一个 424 object required 错误,有了它们,我得到一个错误 5 无效的过程调用或参数错误。根本不在那里使用变量也会给出错误 424。

这只会让我相信是我的语法错了:\但是我在网上找不到任何足够相似的东西来适应它,所以它在这种情况下可以工作。

Excel VBA 自动筛选

评论

1赞 PASUMPON V N 1/7/2022
标准1:=Left(Cells(C2), 5).值,你能把它改成Criteria1:=Left(Cells(C2).value,5)
0赞 AesusV 1/7/2022
那奏效了!非常感谢Pasumpon!

答: 暂无答案