[英]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.