Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Keine Filterung wenn nicht gefunden

Betrifft: Keine Filterung wenn nicht gefunden von: Longo
Geschrieben am: 26.03.2020 20:55:41

Hallo

Ich habe eine Textbox (tb_such). Deren Inhalt soll mit Enter über 2 Spalten gesucht werden. Dies funktioniert einwandfrei.
Ich möchte nun, dass wenn kein Begriff gefunden wurde kein Filterung gemacht wird und eine MsgBox "Begriff nicht gefunden" erscheint. Mein Code sieht wie folgt aus:

Private Sub tb_such_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
  
  If KeyCode = 13 Then
    If tb_such = "" Then
        ActiveWindow.SmallScroll Down:=-8
            If Sheets("Worksheet").FilterMode Then Sheets("Worksheet").ShowAllData
               
    Else
        Sheets("Such").Cells(3, 2) = "*" & tb_such.Value & "*" 'Spalte H
        Sheets("Such").Cells(2, 1) = "*" & tb_such.Value & "*" 'Spalte J
        Application.CutCopyMode = False
        Range("Tabelle1434[#All]").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
Sheets("Such").Range("A1:C3"), Unique:=False
        
        End If
    End If
    
    ThisWorkbook.Worksheets("Worksheet").Activate
    ActiveWindow.ScrollRow = 5
  
End Sub
Gruss Longo

Betrifft: AW: Keine Filterung wenn nicht gefunden
von: Daniel
Geschrieben am: 26.03.2020 21:35:32

Hi

Du kannst mit ZählenWenn prüfen, ob der Suchbegriff vorhanden ist:
If Worksheetfunction.CountIf(Range (...), "*" & tb_such.Value & "*") > 0 then
    '--- Filterung durchführen
Else
    '--- Messagebox ausgeben
End if
Gruß Daniel

Betrifft: AW: Keine Filterung wenn nicht gefunden
von: Longo
Geschrieben am: 27.03.2020 10:02:15

Vielen Dank Daniel. Es funktioniert wunderbar.

Gruss Longo

Beiträge aus dem Excel-Forum zum Thema "Keine Filterung wenn nicht gefunden"