Clever-Excel-Forum

Normale Version: Per VBA IDs suchen und wenn gefunden kopierte Zellen einfügen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,
 
ich bin neu hier, leider noch Anfänger bei VBA und an folgendem Vorhaben am verzweifeln: 

Tabelle2 listet in Spalte B IDs auf. Eine Spalte in Tabelle1 soll nach diesen IDs durchsucht werden und, wenn gefunden, soll Tabelle1 mit Werten aus Tabelle2 aktualisiert werden (d.h. ein bestimmter Zellbereich (G:AH) aus Tabelle2 soll in Tabelle1 (L:AM) geschrieben werden.) Alles andere in Tabelle 1 soll bleiben wie es ist; alle IDs aus Tabelle 2 sollten auch in Tabelle 1 enthalten sein/gefunden werden.
Tabelle2 wird regelmäßig per Makro aktualisiert, weshalb ich mit einfachen Excelformeln nicht weiter komme.
 
Daher habe ich mich nun sehr stark in VBA eingearbeitet und mir vieles bereits angeeignet (Werte suchen, Zellbereiche kopieren, etc.); allerdings merke ich, dass mein Vorhaben für mich noch viel zu komplex ist (verschachteln von kopieren, wenn gefunden, auswählen eines anderen Zellbereiches, einfügen, etc.)
Außerdem fehlt mir momentan leider irgendwie ein grundlegende Ansatz, um weiter zu kommen: Z.B. was ggf. als Variable definieren und was nicht oder ggf. von gefundener Ausgangsposition aus weiter navigieren… etc.
 
Ich habe ein Beispiel angehangen und habe sehr vieles versucht, aber ich befürchte, mein bisheriger Code ist eher armselig und ein grundlegender Ansatz fehlt nach meinen vielen Versuchen auch.
 
Kann jemand helfen bitte?
 
Viele Grüße & einen schönen Freitag allen!
(21.06.2019, 08:26)Newby schrieb: [ -> ]Tabelle2 wird regelmäßig per Makro aktualisiert
Wenn du von VBA auf PQ änderst dann könntest du Rest auch mit PQ erledigen.
Hallo Detlef,

vielen Dank für Deine Rückmeldung!

"Pq" Huh  =Formel?

Dass der Input für Tabelle2 per Makro kommt, passt so schon gut -> das Auslesen/Akutalisieren der Daten in Tabelle 1 kann dann bei Bedarf/auf Knopfdruck erfolgen.

Daher die Vorgehensweise, dass die Daten aus Tabelle2 ausgelesen werden sollen und in Tabelle1 ergänzt werden.

Hilfe hier wäre sehr, sehr großartig.

Viele Grüße
Nina
PQ = Power Query aka Daten abrufen und transformieren
Hallo Detlef,

leider ist PQ völlig neu und ich bin mir daher nicht sicher, ob tatsächlich einfacher für mich.

VBA aus Deiner Sicht zu kompliziert mein Beispiel?
Für VBA müssen die VBA-Spezialisten ran.
Danke dir Detlef dennoch!

@VBA-Spezialisten - anyone here? Kann jemand helfen bitte?

...das wäre wirklich super :22:
Hallo,

ungetestet

Code:
Sub prcX()
   Dim rngTreffer As Range
   Dim lngC As Long
   Dim strAdresse As String
  
   With Worksheets("Tabelle2")
      For lngC = 8 To .Cells(.Rows.Count, 2).End(xlUp).Row
         Set rngTreffer = Worksheets("Tabelle1").Columns(1).Find(.Cells(lngC, 2).Value, LookIn:=xlValues, lookat:=xlWhole)
         If Not rngTreffer Is Nothing Then
            strAdresse = rngTreffer.Address
            Do
               .Cells(lngC, 7).Resize(, 28).Copy rngTreffer.Offset(, 12)
            Set rngTreffer = Worksheets("Tabelle1").Columns(1).FindNext(rngTreffer)
            Loop While rngTreffer.Address <> strAdresse
         End If
      Next lngC
   End With

End Sub
Stefan  - vielen herzlichen Dank Dir!

Musste nur noch die Spaltennummer von 12 auf 11 setzen, da es um 1 verschoben rüberkopiert wurde, aber nun läuft es - und ich tanze auf dem Tisch :)

Im Leben hätte ich das in absehbarer Zeit so nicht zusammen bekommen - vielen Dank Dir & ein schönes Wochenende!