Microsoft Excel

Herbers Excel/VBA-Archiv

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

VBA vergleich zwei Tabellen und kopieren

Betrifft: VBA vergleich zwei Tabellen und kopieren von: Martin
Geschrieben am: 11.03.2020 09:52:43

Hallo zusammen,
ich stehe vor einem problem.
bin dran an einer Datei mit zwei Tabellenblätter. (Tabelle 1 und Tabelle 2)

Ich möchte bei Tabelle 1, Spalte A einen Wert eingeben und dieser sollte
dann in Tabelle 2 Spalte A gesucht werden. (Gleich nach der Eingabe des Wertes, mit Enter bestätigt)
Bei Übereinstimmung soll die Zeile kopiert werden
und in Tabelle 1 beim gesuchten Wert ab Spalte B (nach rechts) eingefügt werden.
(Ja mit Sverweis könnte es auch funktionieren sind aber zuviele Datenabfragen)

Die Tabelle 1, Spalte A, können unterschiedliche Anzahl Zeilenwerte haben. (einmal sollen 3 Werte abgefragt werden und dann wieder 5 Werte)

Ich hoffe es kann mir jemand dabei helfen.
Vielen Dank schon im Voraus.

https://www.herber.de/bbs/user/135762.xlsx

Betrifft: AW: VBA vergleich zwei Tabellen und kopieren
von: UweD
Geschrieben am: 11.03.2020 10:24:08

Hallo

- Rechtsclick auf den Tabellenblattreiter von Tabelle1
- Code anzeigen
- Code rechts reinkopieren


Private Sub Worksheet_Change(ByVal Target As Range)

    On Error GoTo Fehler
    Dim Tb2 As Worksheet, ZE As Integer, Z
    Const APPNAME = "Worksheet_Change"

    Set Tb2 = Sheets("Tabelle2")
    ZE = 4 ' Erste Datenzeile 

    If Not Intersect(Range("A:A"), Target) Is Nothing Then
        If Target.Row >= ZE Then
            For Each Z In Intersect(Range("A:A"), Target)
                With Z.Offset(0, 1).Resize(1, 3)
                    Application.EnableEvents = False
                    .FormulaR1C1 = "=IFERROR(VLOOKUP(RC1," & Tb2.Name & "!C1:C4,COLUMN(),0),"""")"
                    .Value = .Value
                    Application.EnableEvents = True
                End With
            Next
        End If
    End If

    '*** Fehlerbehandlung 
    Err.Clear
Fehler:
    Application.EnableEvents = True
    If Err.Number <> 0 Then MsgBox "Fehler in Sub """ & APPNAME & """" & vbCrLf _
        & "Fehlernummer: " & Err.Number & vbLf & Err.Description: Err.Clear
End Sub

LG UweD

Betrifft: AW: VBA vergleich zwei Tabellen und kopieren
von: Martin
Geschrieben am: 11.03.2020 13:06:30

Hallo UweD

Ich danke dir für dein Code. Der funktioniert hervorragend.
Jetzt hätte ich noch eine weitere Frage:
Welchen Wert muss ich ändern wenn in Tabelle2 weitere Spalten dazukommen?

Ist es möglich eine Abfrage zu starten, wenn in Tabelle1 Zelle M1 den Wert "Morgen" hat dann die
Suche auf das Tabellenblatt "Morgen" zu beziehen?
Und wenn in Tabelle1 Zelle M1 den Wert "Abend" hat dann die Suche auf das Tabellenblatt "Abend" zu beziehen?

Betrifft: AW: VBA vergleich zwei Tabellen und kopieren
von: Martin
Geschrieben am: 12.03.2020 07:43:50

zuätzliche Frage...

Betrifft: AW: VBA vergleich zwei Tabellen und kopieren
von: Armin
Geschrieben am: 11.03.2020 10:26:30

Hallo Martin,
so müsste es gehen.
https://www.herber.de/bbs/user/135767.xlsm


Gruß Armin

Betrifft: AW: VBA vergleich zwei Tabellen und kopieren
von: Martin
Geschrieben am: 11.03.2020 12:14:42

Danke für eure schnelle Antwort. werde dies nächstens so versuchen und mich gegebenfalls nochmals melden...

Beiträge aus dem Excel-Forum zum Thema "VBA vergleich zwei Tabellen und kopieren"