簡體   English   中英

小於和大於標准

[英]Less than and Greater than Criteria

希望一切安好。

為 excel 文件編寫代碼時遇到一些麻煩。 按鈕宏控件將添加到工作表中,以過濾項目在列表中打開的時間。 數據是 E 列具有此信息(計算等於項目已打開的周數)。 在單元格 E4 中,我添加了一個下拉 select 選項,這些選項是:< 1 周、> 1 周但少於 2 周、> 2 周、> 3 周、> 1 個月。 用戶選擇所需的選項,然后按下控制按鈕,該按鈕應根據 E 中的數字值過濾范圍,如果 H 列中的條目 =“打開”。 我的代碼不起作用。 以下是我到目前為止的內容:

Sub Button2_Click()
    ActiveSheet.Unprotect Password:="1234"
    Sheets("CMLog").AutoFilterMode = False
    
Dim List1 = Range ("E4")

With Worksheets("CMLog").Range("A9:AC5000)
If List1 = "< = 1 week" Then
.AutoFilter Field:=8, Criteria1:="Open"
.AutoFilter Field:=5, Criteria1:="<=1"
End If
If List1 ="> 1 week but <=2" Then
.AutoFilter Field:=8, Criteria1:="Open"
.AutoFilter Field:=5, Criteria1:=">1" And "<=2"
End If

End With
ActiveSheet.Protect Password:="1234"

End Sub

代碼繼續使用 >3 周和 >1 個月的標准選項,但我不想在這里全部重新輸入。 當我嘗試運行它時,我首先遇到了運行時錯誤 9,並且突出顯示了“With Worksheets("CMLog").Range("A9:AC5000)"。我不再收到該錯誤,但什么也沒發生。我以前從未使用過標准范圍,所以我不確定這是否是問題所在。有什么建議嗎?注意:excel 已打開過濾器選項。按下控制按鈕將其關閉,但沒有其他任何反應。

這一行: .AutoFilter Field:=5, Criteria1:=">1" And "<=2"

需要使用AutofilterOperator參數。 您正在嘗試使用And將兩個條件連接在一起,但您不能在Criteria1參數中執行此操作。 您必須使用Operator:=xlAnd並將這兩個標准放入Criteria1Criteria2中。

.AutoFilter Field:=5, Criteria1:=">1", Criteria2:="<=2", Operator:=xlAnd

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM