簡體   English   中英

自動篩選和停止宏中沒有空白字段時的Excel VBA消息框

[英]Excel VBA Message Box when there are no blank fields in an autofilter and stop macro

我有一個簡單的宏,可將一個“自動過濾器”列(字段4)設置為特定值,第二個“自動過濾器”列(字段5)僅顯示空白條目。 有時沒有空白條目,在這種情況下,有沒有辦法停止過濾器功能並提供一個消息框通知沒有找到空白條目?

當我的代碼當前結束時,實際上沒有空白要過濾的列(字段5)看起來就像應用了自動過濾器來查看下拉箭頭狀態的變化。 完整的非空白單元仍然可見。

Sub PoPODRecvdStatus()
'
' PoPODRecvdStatus Macro
' Filters Courier/Status by POD Received and Consignment to Blank
'
Application.ScreenUpdating = False
'
ActiveSheet.Range("$A$1:$K$12543").AutoFilter Field:=4, Criteria1:= _
    "POD RECEIVED"
ActiveSheet.Range("$A$1:$K$12543").AutoFilter Field:=5, Criteria1:="<>"
Application.ScreenUpdating = True
End Sub

根據評論,我了解您可能想要類似的內容。 如果在POD RECEIVED上進行過濾時,如果沒有空白單元格,則代碼將顯示一個消息框,並顯示這些行,否則它將顯示POD RECEIVED的“空白”

Sub PoPODRecvdStatus()
'
' PoPODRecvdStatus Macro
' Filters Courier/Status by POD Received and Consignment to Blank
'
    Application.ScreenUpdating = False
    '
    ActiveSheet.Range("$A$1:$K$12543").AutoFilter Field:=4, Criteria1:= _
                                                  "POD RECEIVED"
    ActiveSheet.Range("$A$1:$K$12543").AutoFilter Field:=5, Criteria1:="="

    Dim rng As Range
    Set rng = ActiveSheet.AutoFilter.Range
    If rng.Columns(5).SpecialCells(xlCellTypeVisible).Count - 1 = 0 Then
        MsgBox "No blank cells in column 5 for POD RECEIVED", vbOKOnly, "POD_RECEIVED"
        ActiveSheet.Range("$A$1:$K$12543").AutoFilter Field:=5, Criteria1:="<>"
    End If
    Application.ScreenUpdating = True

End Sub

暫無
暫無

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

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