excel - 在 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$1:$H$71").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
。
推荐阅读
- c# - 使用 Azure 函数 C# 将数据发布到 Azure Cosmos DB 时出现错误?
- wpf - 无法在自定义按钮控件中显示图标
- git - 如何将分支分成功能分支
- mysql - 在 MySQL 中替换:要替换为“XXX”的表中的不同值
- excel - 每当在 Excel-VBA 中选择或取消选择其父节点时,如何自动选择或取消选择所有子节点?
- javascript - 按下左箭头后,Jquery 终端光标隐藏在 FF 中
- angular - 区:
; 任务:Promise.then;值:RangeError:超出最大调用堆栈大小 - r - 想在 data.table 的同一列中找到最近的非 NA 值
- c++ - to_address 的具体用例
- json - Xamarin Forms IOS - 来自 json 字符串的 NSData