Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1860to1864
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA Zellen vergleichen und kopieren

VBA Zellen vergleichen und kopieren
20.12.2021 11:58:23
jaschi
Hallo Leute,
ich habe mal wieder ein Problem, für das ich eure Hilfe benötige.
Es geht um einen Datenvergleich mehrerer Zellen mit anschließendem kopieren.
Hier ist die Datei:
https://www.herber.de/bbs/user/149918.xls
Es sollen die Zellen in den Spalten (B+C) mit (F+G) verglichen werden.
Wenn die Paare jeweils gleich sind (B+C = F+G) soll der Wert in der Spalte H nach Spalte A kopiert werden.
Dies kann auch öfters der Fall sein.
Es soll eine VBA Lösung sein.
Ich hoffe ihr könnt mir helfen.
Vielen Dank im voraus.
Gruß jaschi

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Zellen vergleichen und kopieren
20.12.2021 12:30:15
Piet
Hallo
deine Beispieldatei mit zwei Makros zurück. Das erste Makro zeigt absolut Null an, das hat mich verblüfft! Dann begriff ich das es einen Versatz zwischen B:C und G:F gibt!
Das Ergebnis sieht man dann am zweiten Makro, Es ist aber Zeilenmäßig keine 1:1 Über4einstimmung! - https://www.herber.de/bbs/user/149919.xls
mfg Piet
AW: VBA Zellen vergleichen und kopieren
20.12.2021 12:55:30
jaschi
Hallo Piet,
klappt super.
Der Versatz ist kein Problem.
Nur noch eins wie kann man den Kommentar der Zellen von Spalte H nach Spalte A mitkopieren.
Gruß jaschi
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
Anzeige
AW: VBA Zellen vergleichen und kopieren
20.12.2021 13:53:35
jaschi
Hallo Yal,
vielen Dank für deine Hilfe und überhaupt für eure schnelle Hilfe insgesamt.
Echt super Forum *****.
Gruß
jaschi

312 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige