Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.04.2024 20:05:21
28.04.2024 18:33:31
28.04.2024 18:25:12
28.04.2024 14:18:05
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

Finden funktioniert nicht immer

Finden funktioniert nicht immer
02.02.2023 16:20:09
Guesa
Hallo Forum
Habe hier eine Datei in der ich per Auswahlfeld A2 Materiallisten austausche, nochmals Danke Yal.
In der Spalte D, ab Zeile 4, gebe ich nun einen Suchbegriff ein, wenn gefunden rechts daneben ausgeben.
Dieses funktioniert leider nicht immer, meistens wenn ich eine 2 oder 5 eingebe trägt er mir falsche Zahlen ein.
Ich vermute mal das es einmal an einem Text-Suchtext, z.B. F1, und wenn ich wechsele um ein Zahlen-Suchtext handelt.
Wie müsste der Code geändert werden das beides korrekt gefunden wird.
Für Eure Hilfe schon mal ein Danke schön.
Gruß, Guesa
https://www.herber.de/bbs/user/157618.xlsm

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Finden funktioniert nicht immer
02.02.2023 17:26:23
Yal
Hallo Guesa,
ich hatte zwar beigetragen, aber der Code ist nicht von mir.
In Worksheet_Change von Blatt "Form" muss unten korrigiert werden:
'Suchen und einfügen aktivieren
    If Not Intersect(Target, Range("D4:D13")) Is Nothing Then
        Call Test2(Target)
    End If
Dementsprechend muss Test2 (wenn man sprechende Namen vergibt, findet man sich schneller zurecht) so angepasst werden:
Sub Test2(ByVal Target As Range)
Dim c As Range
Dim Firstaddress As String
 
    With Sheets("Form").Range("A15:A27")
        Set c = .Find(Target.Text)
        If Not c Is Nothing Then
            Firstaddress = c.Address
            Do
                Target.Offset(, 1) = c.Offset(, 1)
                Target.Offset(, 3) = c.Offset(, 2)
                Set c = .FindNext(c)
            Loop While c.Address > Firstaddress
        End If
    End With
End Sub
Achte auf einem sauberen Einrücken, die Lesbarkeit sei dank.
VG
Yal
Anzeige
AW: Finden funktioniert nicht immer
02.02.2023 20:45:37
Guesa
Hallo Yal
Danke Dir, jetzt funktioniert es. Ich meinte bezogen auf die Übernahme der Bereiche
Gruß, Guesa
AW: Finden funktioniert nicht immer
02.02.2023 17:33:39
peterk
Hallo
Ein paar kleine Fehler:
Dein Find findet beim Suchen von 5 auch 1,5 15 und 25!
Daher: Set c = .Range("A15:A27").Find(Cells(ActiveCell.Row, 4), lookat:=xlWhole)
Da Du in weiterer Folge die Tabelle änderst, wird Change Event wieder ausgelöst (kann zu einer Endlos-Schleife führen)
Daher am Anfang Deiner Sub Test:
Application.EnableEvents = False
und am Ende wieder einschalten.
Application.EnableEvents = True
Und der letzte Fehler: Die ActiveCell ist NICHT die geänderte!! Es ist besser Du gibst der Sub das Target aus dem ChangeEvent mit
Daher: Sub Test2 (Target as Range)
Bzw.: Set c = .Range("A15:A27").Find(Target.Value, lookat:=xlWhole)
Im ChangeEvent:
Call Test2 (Target)
Peter
Anzeige
AW: Finden funktioniert nicht immer
02.02.2023 20:50:07
Guesa
Hallo Peterk
Danke Dir, Passt und funktioniert auch
Gruß, Guesa

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige