我正在嘗試創建一個用戶窗體來過濾/顯示符合輸入條件的工作表中的數據。 我已經成功地輸入了用戶名和日期範圍的字段,但是如果沒有要顯示的數據,我無法弄清楚如何創建硬停止。 例如,條件是沒有數據的用戶名或日期,而不是過濾數據表並不顯示任何內容,我希望取消操作,並且可能會彈出msgbox。userform數據過濾器,如果沒有數據取消
下面是我到目前爲止放在一起的簡單測試代碼,我確實這樣做,以便它不會過濾如果該字段留空以便不是我的問題。
Private Sub CommandButton1_Click()
Dim DataRange As Range
Set DataRange = Range("datatable1")
Sheets("data").Visible = True
Sheets("data").Select
If ComboBox1.Value = "" Or ComboBox1.Value = Null Then
AutoFilter = False
Else: DataRange.AutoFilter Field:=9, Criteria1:=ComboBox1.Value
End If
datefilter:
If TextBox1.Value = "" And TextBox2.Value = "" Then
AutoFilter = False
ElseIf TextBox2.Value = "" Then
DataRange.AutoFilter Field:=8, Criteria1:=">=" & TextBox1.Value, Operator:=xlAnd
ElseIf TextBox1.Value = "" Then
DataRange.AutoFilter Field:=8, Criteria1:="<=" & TextBox2.Value, Operator:=xlAnd
Else: DataRange.AutoFilter Field:=8, Criteria1:=">=" & TextBox1.Value _
, Operator:=xlAnd, Criteria2:="<=" & TextBox2.Value
End If
Unload Me
End Sub
真的很感謝任何幫助。
只是一個想法入手:第一應用過濾器,然後檢查如果仍然有可見的數據,並使用它來決定是否顯示工作表「數據」或msgbox。 – Jochen
@jochen,我們都這麼想。這幾乎是我編碼的東西。 –