
剛開始學習VBA,想要實作:V38815和V38816單元格是下拉選單,可以選擇>、≥、<、≤;W38815和W38816輸入數值,完成篩選區間設定,點擊篩選根據輸入的值,顯示篩選結果。
Private Sub CommandButton1_Click()
' 篩選
'
Selection.AutoFilter
ActiveSheet.Range("$A$1:$AJ$38808").AutoFilter Field:=22, Criteria1:= _
"Worksheets("Sheet1").Range("V38815:W38815")", Operator:=xlAnd, Criteria2:= _
"Worksheets("Sheet1").Range("V38816,W38816")"
End Sub
這樣為什么不對?
uj5u.com熱心網友回復:
這一條不需要寫代碼,直接用單元格的資料驗證,驗證條件為序列,輸入這幾個符號。
第一個問題是你的比較符號寫錯了,應該是半角的符號
> < >= <=
第二個問題,篩選條件錯了,應該是取值,而不是Range
Criteria1:=">5"
'用單元格拼出來應該是
Range("V38815") & Range("W38815")
第三個問題,引號錯了,看你的寫法應該是初學?一個變數放到引號里,它就是一個值等于變數名的純字串,不再是一個變數。你的代碼扔到IDE里是要直接報紅的。
最終要的結果是">5",由">"和"5"拼出來,所以代碼是 ">" & "5",">"比較符號和"5"是V38815、W38815的單元格取值,所以應該是
Range("V38815") & Range("W38815")
uj5u.com熱心網友回復:
是的 剛開始接觸 謝謝!
uj5u.com熱心網友回復:
注釋掉所有On Error Resume Next陳述句,在VBA IDE中運行,出錯后點擊除錯,游標會停在出錯的那條陳述句處,
或者
事先在懷疑可能有邏輯錯誤的陳述句處設定斷點,運行經過斷點時中斷,
此時可以在立即視窗中使用
?變數名
或
?函式名(函式引數)
或
程序名(引數)
輔助除錯。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/51447.html
標籤:VBA
上一篇:通過VBA打開不同檔案夾下的excel檔案,并將其中一部分復制匯總到一張新表
下一篇:vb如何點擊這個忽略按鍵
