Microsoft Excel

Herbers Excel/VBA-Archiv

2 Tabellen vergleichen und Einfügen

Betrifft: 2 Tabellen vergleichen und Einfügen von: Jimmy
Geschrieben am: 05.11.2020 18:15:17

Hallo mal wieder, ich stehe mal wieder vor einem Problem, welches ich mit einem Makro lösen müsste.

Ich habe 2 Excel Tabellen, die eine enthält eine Komplettübersicht und die andere eine Monatsübersicht.
Beide bestehen aus mehreren Zeilen mit Auftragsnummern, sie sind sonst komplett identisch aufgebaut.
Die fehlenden Daten werden derzeitig aus der Monatsübersicht per Hand in die Komplettübersicht kopiert.

Ich möchte gern:

1. Eine Schaltfläche in der Komplettübersicht haben über die ein Makro angesteuert wird
2. Dieses soll die Datei "Monatsübersicht" öffnen und diese aktualisieren
3. die Daten aus der Monatsübersicht kopieren
4. prüfen welche Auftragsnummer, in der Komplettübersicht, schon vorhanden sind, in der ersten Spalte, und die fehlenden in die erste freie Zeile der Liste einfügen.

Punkt 1 bis 3 sind erstmal nicht das Problem, bei Punkt 4 hingegen habe ich nicht einmal eine Idee wie ich es ohne Zusätzliche Spalten (Durch Duplikate entfernen) umgesetzt bekommen kann und wie dies in einem Makro verbaut werden sollte.

Ich bin für jede Hilfe dankbar.

Betrifft: AW: 2 Tabellen vergleichen und Einfügen
von: ralf_b
Geschrieben am: 05.11.2020 18:21:31

im Makro könnte man die Nummern aus der Komplettübersicht in eine Collection einlesen und prüfen ob die jeweilige Nummer aus der Monatsübersicht schon vorhanden ist.

Betrifft: AW: 2 Tabellen vergleichen und Einfügen
von: Jimmy
Geschrieben am: 05.11.2020 18:40:26

Danke für die schnelle Antwort:

Es würde reichen die letzte beschriftete Zeile in der Komplettübersicht zu prüfen, diese in der Monatsübersicht zu suchen und ab dort die Daten zu übertragen.

Nur bin ich ehrlich gesagt noch zu blöd ein solches Makro zu schreiben, da ich nicht einmal weis wie ich die Collection einlese.....

Betrifft: AW: 2 Tabellen vergleichen und Einfügen
von: ralf_b
Geschrieben am: 05.11.2020 19:48:31

ohne Garantie
Sub KopieDatensatz()
    
    Dim loLetzte As Long
    Dim lLastNum As Long
    Dim rFund As Range
    
    With Worksheets("Komplettübersicht")
        
        loLetzte = .Cells(Rows.Count, 1).End(xlUp).Row 'letzte Zeile Spalte A
        lLastNum = .Cells(loLetzte, 1).Value            'Nummer aus letzter Zelle Spalte A
    
    End With
     
    With Worksheets("Monatsübersicht")
      'suche in Monatsübersicht
      Set rFund = .Range("A1:A" & .Cells(Rows.Count, 1).End(xlUp).Row).Find(what:=lLastNum,  _
LookIn:=xlValues, Lookat:=xlWhole)
      
      If Not rFund Is Nothing Then  'wenn gefunden
          
         'bereich festlegen und kopieren
        .Range(.Cells(rFund.Row + 1, 1), .Cells(.Cells(Rows.Count, 1).End(xlUp).Row, Cells(1, _  _
 Columns.Count).End(xlToLeft).Column)).Copy
        
          'bereich einfügen
         Worksheets("Komplettübersicht").Range("A" & loLetzte + 1).Paste

        Application.cutcopymode = false
      End If
    End With

  Set rFund = Nothing
End Sub


Beiträge aus dem Excel-Forum zum Thema "2 Tabellen vergleichen und Einfügen"