Microsoft Excel

Herbers Excel/VBA-Archiv

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

Tabellen vergleichen mit mehreren Zeilen

Betrifft: Tabellen vergleichen mit mehreren Zeilen von: Andre
Geschrieben am: 06.11.2020 20:34:22

Hallo Zusammen


Ich habe mal wieder ein Problem und zwar habe ich schon mit eurer Hilfe ein Code der mir zwei Tabellen vergleicht und einen Wert überträgt das auch super funktioniert. Leider funktioniert dieser nur mit einer Zeile.

Wie muss ich den Code umstellen damit das mit mehreren Zellen funktioniert.

Ich habe ein Test Datei hochgeladen wo auch der jetztige Code vorhanden ist.

Vielen Dank für Eure Hilfe schon im vorraus.


https://www.herber.de/bbs/user/141377.xlsm

Betrifft: AW: Tabellen vergleichen mit mehreren Zeilen
von: Hajo_Zi
Geschrieben am: 06.11.2020 20:52:07

Option Explicit

Sub Lieferung()
    Dim vntRow, c As Long
    Dim LoZeile As Long
    For LoZeile = 29 To 42
        vntRow = Application.Match(Tabelle2.Cells(LoZeile, 8), Tabelle1.Columns(1), 0)
        If IsError(vntRow) Then
            MsgBox "Nummer nicht vorhanden"
        Else
            With Tabelle1
                For c = 8 To 12
                    If .Cells(vntRow, c) = "" Then
                        .Cells(vntRow, c) = Tabelle2.Range("F29")
                        Exit For
                    End If
                Next c
            End With
        End If
    Next LoZeile
End Sub
GrußformelHomepage

Betrifft: AW: Tabellen vergleichen mit mehreren Zeilen
von: ralf_b
Geschrieben am: 06.11.2020 20:58:32

Sub Lieferung()
  Dim vntRow, c As Long, i As Long
  
For i = 29 To Tabelle2.Range("H29").End(xlDown).Row
  vntRow = Application.Match(Tabelle2.Range("H" & i), Tabelle1.Columns(1), 0)
 
  If IsError(vntRow) Then

    MsgBox "Nummer nicht vorhanden"
  Else
    With Tabelle1
      For c = 8 To 12
        If .Cells(vntRow, c) = "" Then

          .Cells(vntRow, c) = Tabelle2.Range("F" & i)

          Exit For
        End If
        
      Next c
    End With
  End If
 Next
End Sub


Betrifft: AW: Tabellen vergleichen mit mehreren Zeilen
von: Andre
Geschrieben am: 06.11.2020 21:41:21

Hallo Ihr Beiden

Vielen vielen Dank für Eure Hilfe. Die Codes sind beide super und laufen sehr gut.

wünsche euch noch ein schönen abend und bleibt beide gesund.

Habe mich für den Code von Ralf entschieden.

Betrifft: danke für die Rückmeldung owt
von: ralf_b
Geschrieben am: 07.11.2020 13:00:55



Betrifft: AW: danke für die Rückmeldung owt
von: Andre
Geschrieben am: 07.11.2020 15:20:16

Hallo Ralf

Darf ich nochmal stören vieleicht kannst Du mir nocheinmal helfen und zwar möchte ich aus der Beispieltabelle von Tabelle2 von A29 bis G42 kopieren aber nur die befüllten und in Tabelle3 ab A29 wieder einfügen. Der nächste Eintrag soll dann immer in die erste freie Zeile in A eingetragen werden.

Vielen Dank schon mal für deine Hilfe

https://www.herber.de/bbs/user/141389.xlsm

Betrifft: nächstes Problem
von: ralf_b
Geschrieben am: 07.11.2020 16:57:39

dann mach mal ne korrekte Beispieldatei fertig.

1. der Bereich stimmt nicht mit deinen Angaben überein.
2. in Tabelle2 gibt keine wirklichen Beispieldaten
3. die leeren Zeilen kann man auch mit filtern entfernen.
4. deine Fallbeschreibung ist nicht ganz eindeutig.

Beiträge aus dem Excel-Forum zum Thema "Tabellen vergleichen mit mehreren Zeilen"