Private Sub 検索_Click() If Me.TextBox1.Text = "" And Me.TextBox2.Text = "" Then Exit Sub Application.ScreenUpdating = False With Worksheets("Sheet1") If .AutoFilterMode = False Then .Rows(4).AutoFilter End If If Me.TextBox1.Text <> "" Then .Range("C4").AutoFilter 3, Me.TextBox1.Text End If If Me.TextBox2.Text <> "" Then .Range("D4").AutoFilter 4, Me.TextBox2.Text End If If .Range("A65536").End(xlUp).Row > 4 Then Worksheets("Sheet2").Range("A3:IV65536").Clear .AutoFilter.Range.Copy Worksheets("Sheet2").Range("A3") Else MsgBox "抽出データがありません。", vbCritical End If .AutoFilterMode = False End With Worksheets("Sheet2").Rows(3).Delete Application.ScreenUpdating = True End Sub
Private Sub リセット_Click() With Me .TextBox1.Text = "" .TextBox2.Text = "" End With End Sub
それからここは
If Me.TextBox2.Text <> "" Then
.Range("B4").AutoFilter 2, Me.TextBox2.Text
End If
If .Range("A65536").End(xlUp).Row > 4 Then
Worksheets("Sheet2").Range("A3:IV65536").Clear
こうすれば
If Me.TextBox2.Text <> "" Then
.Range("B4").AutoFilter 2, Me.TextBox2.Text
End If
If .Range("A65536").End(xlUp).Row = 4 Then '「種類」1に無ければ
.Range("B4").AutoFilter 2 '「種類」1をすべて表示して
If Me.TextBox2.Text <> "" Then '「種類」2を探す
.Range("C4").AutoFilter 3, Me.TextBox2.Text
End If
End If
If .Range("A65536").End(xlUp).Row > 4 Then
Worksheets("Sheet2").Range("A3:IV65536").Clear