Live-Forum - Die aktuellen Beiträge
Datum
Titel
07.05.2024 16:36:49
07.05.2024 14:51:38
07.05.2024 13:27:17
Anzeige
Archiv - Navigation
1924to1928
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

Hilfe bei Find und SelectionChange

Hilfe bei Find und SelectionChange
02.04.2023 16:14:03
M@tt

Hallo,
Hallo , in Tabelle 1 Spalte D möchte ich die Kürzel aus Tabelle2, Spalte B eingeben und es soll automatisch der Wert aus Tabelle2 Spalte C in Tabelle 1 Spalte D übernommen werden. Die Übernahme klappt zwar, aber nicht zufriedenstellend. Die Suche klappt leider nicht.
1. Problem, genaue Übereinstimmung funzt nicht
2. Problem, der Wert wird nicht sofort übernommen, sondern erst wenn ich die Zelle manuell verlasse und wieder anklicke. Wie kann ich das ändern?
https://www.herber.de/bbs/user/158564.xlsm

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Ort As String
Dim Ziel As Variant

On Error Resume Next

If Target.Column = 4 Then
    If Len(Target.Value) > 3 Then
        Exit Sub
    Else
         Ziel = ActiveCell.Address
         Ort = Range(Ziel).Value
         Dim Finden As Range
         Set Finden = Worksheets("Tabelle2").Range("B2:B1000").Find(what:=Ort, LookIn:=xlValues, LookAt:=xlPart, MatchCase:=True)
         Worksheets("Tabelle2").Cells(Finden.Row, 3).Copy
         Range(Ziel).PasteSpecial


    End If
   End If
End Sub

Vielen Dank für Eure Zeit
Gruß M@tt

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Hilfe bei Find und SelectionChange
02.04.2023 16:54:55
onur
Bist du mal auf die Idee gekommen, vor dem Benutzen von "Worksheet_SelectionChange" mal danach zu googeln bzw bei Microsoft nachzuschlagen ?


AW: Hilfe bei Find und SelectionChange
02.04.2023 17:22:45
GerdL
Hallo M@tt,

nimm das Worksheet_Change, dann musst du nicht "wieder rein" und keine intelligente/formatierte Tabelle (Listobjekt).
Deren Autokorrektur verhagelt die Auswertung/Übernahme.
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim C As Range
    
    If Not Intersect(Target, Range("D6:D23")) Is Nothing Then
        For Each C In Intersect(Target, Range("D6:D23"))
            If Not IsEmpty(C) And Len(C)  4 Then
                If WorksheetFunction.CountIf(Tabelle2.Range("B2:B1000"), C) Then
                    Application.EnableEvents = False
                    C = Tabelle2.Cells(1 + Application.Match(C, Tabelle2.Range("B2:B1000"), 0), 3)
                    Application.EnableEvents = True
                End If
            End If
        Next
    End If

End Sub
Gruß Gerd


Anzeige
Vielen Dank AW: Hilfe bei Find und SelectionChange
02.04.2023 17:32:29
M@tt
Hallo Gerd,
vielen Dank für die Lösung, es funktioniert prächtig.
Gruß M@tt


AW: Hilfe bei Find und SelectionChange
02.04.2023 17:29:28
M@tt
Hallo Onur,
danke für Deine Reaktion.
Nein, ich habe nicht danach gegoogelt (habe es jetzt aber nachgeholt). Jedoch hatte ich es erst mit dem Worksheet_Change Ereignis getestet und da stürzt Excel nach ein paar Sekunden "Kreisel des Grauens" ab.
Leider weiß ich es nicht besser ;-)
Gruß M@tt


AW: Hilfe bei Find und SelectionChange
02.04.2023 17:34:29
onur
Klar, dass Excel "abkackt", da das Change-Event auf Änderungen reagiert, also auch auf Änderungen, die durch das Change-Event-Makro selbst gemacht werden. Damit ruft sich das Makro jedesmal selbst wieder auf und ändert wieder was und ruft sich selbst wieder auf und ändert wieder was usw usw usw.


Anzeige
OWT Vielen Dank für die Aufklärung
02.04.2023 17:36:25
M@tt
Vielen Dank für die Aufklärung


AW: Hilfe bei Find und SelectionChange
02.04.2023 17:23:06
onur
DAS reicht:
Private Sub Worksheet_Change(ByVal Target As Range) 'Nicht SelectionChange !
    Dim rng
    Application.EnableEvents = False
    Set rng = Worksheets("Tabelle2").Range("B2:C1000")
    On Error Resume Next
    If Target.Column = 4 Then Target = WorksheetFunction.VLookup(Target, rng, 2, False)
    Application.EnableEvents = True
End Sub


Dankeschön :-) AW: Hilfe bei Find und Selection
02.04.2023 17:34:46
M@tt
Hallo Onur,
hab vielen Dank für deine Lösung.
Gruß M@tt
Da haben sich doch die Ereignisse (Antworten) überschlagen: ;-)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige