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