我正在尝试创建一个用户窗体来过滤/显示符合输入条件的工作表中的数据。 我已经成功地输入了用户名和日期范围的字段,但是如果没有要显示的数据,我无法弄清楚如何创建硬停止。 例如,条件是没有数据的用户名或日期,而不是过滤数据表并不显示任何内容,我希望取消操作,并且可能会弹出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,我们都这么想。这几乎是我编码的东西。 –