Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
2 Tabellen zusammenführen
#4
Hallo,
da ich glaube, die Beiträge im anderen Office-Forum helfen Dir so richtig nicht weiter, hier ein Versuch, ob ich Deine Bitte richtig verstanden habe.
Die Konstanten am Anfang musst Du bei Änderung der Datenstruktur (die in der Tat überarbeitungswürdig ist, vermutlich aber nicht von Dir zu vertreten ist[Bild: wink.png]), ggfls. anpassen.
Code:
Sub Ergaenzung()
Const QuellIDSpalte = 32 'Spalte STID in Quelle
Const FirstDat = 123 'erste  Spalte mit Datum in Quelle
Dim Quelle As Object, Ziel As Object, erg As Variant
Dim QZeile As Long, QSpalte As Long, STID As String, ZZeile As Long, MyDiff As Long
  Set Quelle = ThisWorkbook.Sheets("Master_VNB")
  Set Ziel = ThisWorkbook.Sheets("Gesamt_mit_Forecast")
  With Quelle
    MyDiff = DateDiff("m", Ziel.Cells(1, 3), .Cells(1, FirstDat))
    For QZeile = 2 To .Cells(Rows.Count, QuellIDSpalte).End(xlUp).Row
      STID = .Cells(QZeile, QuellIDSpalte)
      Set erg = Ziel.Range("A:A").Find(what:=STID, lookat:=xlWhole)
      If Not (erg Is Nothing) Then 'ID auch in Ziel
        ZZeile = erg.Row + 1
        If Ziel.Cells(ZZeile, 1) <> STID Then 'ggfls. Zeile einfügen
          Ziel.Rows(ZZeile).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
          Ziel.Cells(ZZeile, 1) = STID
        End If
        QSpalte = FirstDat
        Do
          If Val(.Cells(QZeile, QSpalte)) > 0 Then 'wert vorhanden
            Ziel.Cells(ZZeile, QSpalte - FirstDat + 3 + MyDiff) = Quelle.Cells(QZeile, QSpalte)
          End If
          QSpalte = QSpalte + 1
        Loop Until IsEmpty(.Cells(1, QSpalte))
      End If
    Next QZeile
  End With
End Sub
Gruß der AlteDresdner (Win11, Off2021)
Zitieren


Nachrichten in diesem Thema
2 Tabellen zusammenführen - von Strolchi1980 - 22.02.2022, 13:52
RE: 2 Tabellen zusammenführen - von steve1da - 22.02.2022, 13:54
RE: 2 Tabellen zusammenführen - von AlterDresdner - 23.02.2022, 19:30

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 2 Gast/Gäste




Hinweis auf Angebot Excel-Inside - lang    Keine Lösung gefunden? Du kannst Dich gerne an unser erfahrenes Experten-Team wenden um dein Anliegen zu besprechen.
   Gerne erstellen wir auf dieser Basis ein Angebot.
   Sende deine Anfrage einfach
per E-Mail an anfrage@excel-inside.de


Powerd and supported by Excel-InsideSolutions