在 VBA 中使用输入框作为过滤条件

Using Inputbox for Filter Criteria in VBA

这可能很蹩脚,但我在 VBA 中需要帮助,同时使用过滤条件的输入框。我正在尝试使用以下代码,其中用户需要将值放入 + & - 以相应地过滤范围。

在这种情况下,我尝试过滤 5 以获取上限,-4.5 以获取下限。我面临的困难是,当我为较低范围键入 -4.9、-4.8、-4.7 或 -4.6 时,该值被视为 -5,当我使用 -4.5、-4.4、-4.3 等直到 -4.1那么该值被认为是-4。我需要的值与我在输入框中输入的值完全相同。

Sub InputFilter()

    Dim iuval As Integer
    Dim ilval As Integer

    iuval = InputBox("Please enter the upper range")
    ilval = InputBox("Please enter the Lower range")


    Range("G1").Select
    ActiveSheet.Range("$A:$H").AutoFilter Field:=7, Criteria1:=">" & iuval, _
        Operator:=xlOr, Criteria2:="<" & ilval

End Sub

iuval 的数据类型更改为 double 否则 VBA 会将您的输入自动转换为 integer 这意味着在您的情况下它将把您的输入转换为 - 4 或 -5。

Dim iuval As Integer 应该是 Dim iuval As double

Dim ilval As Integer 执行相同的操作。