AW: VBA Zellen vergleichen und kopieren
20.12.2021 13:34:39
Yal
Hallo Jaschi,
in dem man die gesamte Zelle kopiert.
Sub Zellen_vergleichen_kopieren()
Dim Dict As Object
Dim Z As Range 'Z wie Zelle
'Init
Set Dict = CreateObject("Scripting.Dictionary")
With Worksheets("Tabelle1")
'Sammeln
For Each Z In .Range(.Range("F1"), .Cells(Rows.Count, "F").End(xlUp)).Cells
Dict(Trim(Z.Value) & Trim(Z.Offset(0, 1).Value)) = Z.Offset(0, 2).Address
Next
'Herausgeben
Application.ScreenUpdating = False
On Error Resume Next
For Each Z In .Range(.Range("B1"), .Cells(Rows.Count, "B").End(xlUp)).Cells
.Range(Dict(Trim(Z.Value) & Trim(Z.Offset(0, 1).Value))).Copy Z.Offset(0, -1)
Next
Application.ScreenUpdating = False
End With
Set Dict = Nothing
End Sub
Was passiert dabei:
ich herstelle einen Dictionary, wo die Schlüsseln die Kombi aus F und G und die Werte die Adresse der Zelle H sind ("Sammeln")
dann für jede Eintrag aus B+C wird den Dictionary nach dem Adresse gefragt und die jeweilige Zelle kopiert, samt Kommentar (Herausgeben).
Der Screenupdating muss kurz ausgeschaltet werden, sonst flakert's.
Hast Du Ereignis auf deine Zellen, solltest Du dann auch Application.EnableEvents auf demselben Art aus- und einschalten.
VG
Yal