[英]autofilter using double variable criteria vba
因此,我需要过滤所有小于或等于cell(6,3)(即50.60)值的价格。
这是我的代码,但是由于某种原因,它对于双精度值不起作用。 例如,如果我将cell(6.3)的值从50.60更改为50,则代码可以正常工作。
有小费吗?
Sub cost()
Dim price As Double
'Application.DecimalSeparator = "."
'Application.ThousandsSeparator = ","
'Application.UseSystemSeparators = True
Range("B2:C2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.NumberFormat = "0.00"
price = Cells(6, 3).Value
Range("A1:C1").Select
Selection.AutoFilter
ActiveSheet.Range("$A$1:$C$12").AutoFilter Field:=1, Criteria1:="1"
ActiveSheet.Range("$A$1:$C$12").AutoFilter Field:=3, Criteria1:="<=" & price
End Sub
这是我的工作表:
hour consumption price
1 20,50 0,00
1 50,10 1,30
1 70,60 1,50
1 10,70 30,60
1 15,90 50,60
1 30,80 56,20
1 60,30 60,30
2 45,20 0,00
2 80,60 11,30
2 50,70 20,40
谢谢您的帮助
用这条线对我有用。 您只需要做的就是将price
转换为string
然后再将其连接为"<="
。
ActiveSheet.Range("$A$1:$C$12").AutoFilter Field:=3, Criteria1:="<=" & Str(price)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.