Ich muss fusionieren die Informationen von mehreren Zeilen und Spalten für eine bestimmte Zelle basierend auf einem gemeinsamen Wert.
Ich glaube , ich hier ein Makro verwenden können, wie das Problem ist , ich habe zu verschmelzen viele Informationen, wo für einige Zeilen einige Spalten leer sind und andere haben Informationen.
Die Werte in den Zellen, die ich zum Zusammenführen der Zeilen verwenden muss, werden möglicherweise mehrmals angezeigt.
Ich füge ein Bild hinzu, in dem Sie die Struktur des Dokuments und einen Teil der Liste der wiederholten Werte für die Spalte "E-Mail" sehen können. Ich überprüfe es mit der VLOOKUP-Funktion und es gibt ungefähr 3000, während das Blatt ungefähr 5000 Zeilen hat.
microsoft-excel
macros
Juan Francisco
quelle
quelle
D
Sie eine E-Mail und eine andere E-Mail in der SpalteO
. Manchmal ist es dasselbe und manchmal ist es anders. Basierend darauf möchten Sie etwas zusammenführen, aber Sie erklären nicht, was.Antworten:
Mit VBA / Makros:
Öffnen Sie VBA / Macros, fügen Sie ein neues Modul unter ThisWorkbook ein und fügen Sie diesen Code auf der rechten Seite ein.
Wenn zwei E-Mails identisch sind, werden nur die verschiedenen Felder zusammengeführt. Und verwenden Sie
/
, um sie in der Zelle zu trennen.Angenommen, Ihr E-Mail-Feld ist die vierte Spalte. Sie kann mithilfe der Variablen geändert werden
emailcolumn
und setzt voraus, dass Ihre maximale Spalte 12 ist. Sie kann auch problemlos mithilfe der Variablen geändert werdentotalcolumns
.quelle
lastRow = wks.Cells(Rows.Count, "A").End(xlUp).Row
.lastRow = wks.Cells(Rows.Count, "A").End(xlUp).Row
. Befindet sich in Spalte A eine leere Zelle, beginnt diese von da an. Wenn Sie die Anzahl der Zeilen kennen (z. B. 3000), ersetzen Sie diese Zeile durchlastRow=3000
und es sollte funktionieren.