所以我需要过滤掉小于或等于单元格值(6,3)的所有价格(即50.60)。
这是我的代码,但由于某种原因,它不适用于双值。例如,如果我将单元格(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
感谢您的帮助
答案 0 :(得分:1)
这条线对我有用。您只需将price
转换为string
,然后再将其连接到"<="
。
ActiveSheet.Range("$A$1:$C$12").AutoFilter Field:=3, Criteria1:="<=" & Str(price)