
Ich entschuldige mich für den langen Beitrag, aber ich wollte so viele Informationen wie möglich einschließen. Ich konnte einige Informationen online finden, aber ich brauche Hilfe beim Ändern. Hier ist ein Beispiel der Daten, die ich unten kombinieren muss:
Ich muss diese Tabelle kombinieren:
Teil 1 | Teil 2 | Voll | Bericht | HRO-Zug | Zeitmanager | Teilnehmer | Geplant | Kundenname | Kunden ID | Client-Migrator | Aufsicht |
---|---|---|---|---|---|---|---|---|---|---|---|
07.01.21 | 07.01.21 | 07.01.21 | Jane Doe | 2.2.21 | Jane Doe Inc | 123456789 | Sarah | Susan | |||
08.01.21 | 08.01.21 | 08.01.21 | Jane Doe | 2.2.21 | Jane Doe Inc | 123456789 | Sarah | Susan | |||
07.01.21 | 07.01.21 | 07.01.21 | John Dee | 01.03.21 | John Dee | 321654987 | Larry | Bob | |||
08.01.21 | 08.01.21 | 08.01.21 | John Dee | 01.03.21 | John Dee | 321654987 | Larry | Bob |
In diese Tabelle:
Teil 1 | Teil 2 | Voll | Bericht | HRO-Zug | Zeitmanager | Teilnehmer | Geplant | Kundenname | Kunden ID | Client-Migrator | Aufsicht |
---|---|---|---|---|---|---|---|---|---|---|---|
07.01.21 | 07.01.21 | 08.01.21 | 08.01.21 | 07.01.21 | 08.01.21 | Jane Doe | 2.2.21 | Jane Doe Inc | 123456789 | Sarah | Susan |
07.01.21;08.01.21 | 07.01.21;08.01.21 | 07.01.21 | 08.01.21 | John Dee | 01.03.21 | John Dee | 321654987 | Larry | Bob |
ich fanddieser Threadzum Erstellen eines VBA, das diese Art der Kombination durchführt, aber meine Daten sind etwas anders und ich bin nicht sicher, wie ich den Code ändern muss, um dies zu erreichen. Ich werde den folgenden Code kopieren und einfügen:
'Dim 2 search cells
Dim BlankCell As Range
Dim IdCell As Range
'Find Last row and column
Dim lRow As Long
lRow = Range("A1").End(xlDown).Row
Dim lColumn As Long
lColumn = Range("A1").End(xlToRight).Column
'Set the area to consider
Dim Rng As Range
Set Rng = Range(Cells(1, 1), Cells(lRow, lColumn))
'Select each blank cell in area
Rng.Select
Selection.SpecialCells(xlCellTypeBlanks).Select
'And replace it with appropriate value
For Each BlankCell In Selection
For Each IdCell In Range(Cells(1, 1), Cells(lRow, 1))
If (IdCell.Value = Cells(BlankCell.Row, 1).Value And Cells(IdCell.Row, BlankCell.Column) <> "") Then
BlankCell = Cells(IdCell.Row, BlankCell.Column).Value
End If
Next IdCell
Next BlankCell
'Then erase duplicate lines
Rng.Select
ActiveSheet.Range(Cells(1, 1), Cells(lRow, lColumn)).RemoveDuplicates Columns:=Array(1, 2, 3, 4, 5, 6), _
Header:=xlYes
Mit diesem VBA werden die Zeilen unter Verwendung von Spalte A als abzugleichender Kennung nach unten konsolidiert. Ich brauche jedoch VBA, um Spalte G als Kennung abzugleichen, und ich bin mir nicht sicher, wo ich die Spalte ändern muss. Und ich glaube nicht, dass dieses VBA Situationen abdeckt, in denen ich alle Daten mit einem ";"-Trennzeichen kombinieren muss. Was muss ich noch hinzufügen, damit das erfolgreich funktioniert? Vielen Dank!