Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1916to1920
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Makro fehler ?

Makro fehler ?
01.02.2023 18:41:01
sigrid
Guten Abend,
ich habe hier im Forum diese Makro erhalten.
Soweit alles gut, wenn ich aber z.B. ein Leerzeichen eingebe, hört das Suchen auf.
Beispiel für die Eingabe in der Textbox:
Tischler Schmitz

Tischler "Leertaste" dann Abbruch.
Private Sub TextBox1_Change()
   Dim lz1&, FI$, Spa&, rFind, x&
   
   'LastZell in Spalte B
   lz1 = Cells(Rows.Count, "B").End(xlUp).Row
   FI = ActiveSheet.TextBox1.Text
   Spa = 3  '1. Spalte zum Filtern
   
   If ActiveSheet.FilterMode Then ActiveSheet.ShowAllData
   
   With Range("b2:L" & lz1)
such: Set rFind = Columns(Spa).Find(What:=FI, After:=Cells(1, Spa), LookIn:=xlFormulas, _
            LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:=False)
      If rFind Is Nothing Then
         Spa = Spa + 2
         If Spa > 10 Then
            ActiveSheet.TextBox1 = ""
              ''''  MsgBox "Suchbegriff nicht vorhanden!", vbCritical, "Fehler!"
            Exit Sub
         End If
         GoTo such
      End If
      If FI = "" Then
            ''''MsgBox "Kein Suchbegriff vorhanden!", vbCritical, "Fehler!"
         Else
            .AutoFilter Field:=Spa - 1, Criteria1:=FI & "*"
      End If
   End With
End Sub
würde mich freuen, wenn man dies ändern könnte,
dank im Voraus,
gr sigrid

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro fehler ?
01.02.2023 19:11:52
Yal
Hallo Sigrid,
"such:" ist eine Sprungmarke. Es darf nichts anderes als diese Sprungmarke in der Zeile geben.
Es ist fraglich, warum gleichwertige Information in verschiedene Spalten vorliegen...
Wenn alle "Ansprechpartner" in dieselber Spalte wären, könntest Du die Filter-Funktion von Excel vollständig verwenden und bräuchtest keinen VBA.
Da diese TextBox1 ein ActiveX-Element innerhalb des Blattes ist, sind einige Codekürzung möglich. Aber der optimale Kürzung wäre VBA-frei zu sein.
Private Sub TextBox1_Change()
Dim Spa As Long
Dim rFind As Range
   
    If TextBox1.Text = "" Then Exit Sub
    If ActiveSheet.FilterMode Then ActiveSheet.ShowAllData
    
    Spa = 3  'erste Spalte zum suchen
    Do
        Set rFind = Columns(Spa).Find(What:=TextBox1.Text, After:=Cells(1, Spa), LookIn:=xlFormulas, _
            LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:=False)
        Spa = Spa + 2
    Loop While Find Is Nothing And Spa  10
    
    If rFind Is Nothing Then
        ActiveSheet.TextBox1 = ""
        ''''  MsgBox "Suchbegriff nicht vorhanden!", vbCritical, "Fehler!"
    Else
        Range(Range("L2"), Cells(Rows.Count, "B")).AutoFilter Field:=rFind.Column - 1, Criteria1:=TextBox1.Text & "*"
    End If
End Sub
Weitere Verbesserungsvorschläge nur mit hochgeladenen Datei (bereinigt von alles, was nicht im Netz gehört)
VG
Yal
Anzeige
Laufzeitfehler
01.02.2023 19:23:52
sigrid
Guten Abend Yal,
danke erst mal für die Unterstützung.
Leider Laufzeitfehler 424
hier: Loop While Find Is Nothing And Spa < 10

gr sigrid
AW: Laufzeitfehler
01.02.2023 19:28:27
Rudi
Hallo,
Loop While rFind Is Nothing And Spa &lt 10
Gruß
Rudi
Das wars DANKE !!! -)
01.02.2023 19:32:58
sigrid
AW: Laufzeitfehler
01.02.2023 19:33:40
Yal
Hallo Sigrid,
Lesen, lesen, lesen. Denken.
Und vielleicht entdecken, dass es nicht "Find" sondern "rFind" heissen soll.
Die bessere Hilfe ist immer die Selbsthilfe. Je mehr diese trainiert wird, desto besser wird sie.
Und sehr bald wirst Du "VBA-bescheiden" anstatt "VBA nur mit Recorder" sein.
VG
Yal
AW: Laufzeitfehler
01.02.2023 20:07:01
sigrid
Guten Abend Yal,
Du hast Recht !
Hört sich jetzt blöd an aber bevor ich von Rudi gelesen habe, habe ich es selbst festgestellt.
Bin Zeile für Zeile durchgegangen !
Danke
Schönen Abend noch
Gruß Sigrid
Anzeige
;-)
01.02.2023 20:27:47
Yal

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige