Hallo,
ich habe folgendes Problem:
Ich habe eine Excel Datei mit einer größeren Anzahl an Datensätzen (welche händisch in die datei reingepasted wurden) aufgeteilt in 2 Spalten:
Grober Aufbau:
Spalte A/ Spalte B
Vorname:/ Max
Nachname:/ Mustermann
Alter:/53
Info:/True
etc./#
etc./*
etc./?
[2-4 leere Spalten bis nächster Datensatz]
Vorname:/ Otto
Nachname:/ Mayer
Alter:/ 20.01.1965
Info:/False
etc./#
etc./*
etc/?
[2-4 leere Spalten bis nächster Datensatz]
und so weiter....
Diese möchte ich in Spalten transponieren - so dass nur noch einmalig Vorname, Nachname, Alter, etc steht, und darunter die jeweiligen "Werte".
Also:
Vorname/ Nachname/ Alter/ Info/ etc./etc. /etc
Max/ Mustermann/ 53/ True/ #/ */ ?
Otto/ Mayer/.../.../.../.../
...../..../.../.../.../
Über den VBA Code (dankend erhalten):
----
Sub Transe()
Dim rng As Range
Dim rngArea As Range
Dim i As Long
On Error GoTo ENDE
Set rng = Range("B:B").ColumnDifferences(Cells(Rows.Count, 2))
For i = 1 To rng.Areas.Count
Set rngArea = rng.Areas(i).Offset(, -1)
Range("E1").Resize(, rngArea.Rows.Count) = _
WorksheetFunction.Transpose(rngArea)
Set rngArea = rng.Areas(i)
Range("E" & Rows.Count).End(xlUp).Offset(1).Resize(, rngArea.Rows.Count) = _
WorksheetFunction.Transpose(rngArea)
Next
ENDE:
If Err Then _
MsgBox Err.Description, , "Fehler: " & Err
End Sub
----
klappt das schon ganz gut...JEDOCH...ab und zu sind die Datensätze unvollständig:
d.h. Nachname, Vorname oder Alter etc fehlen -> folglich verschieben sich die Daten.
Beispiel: Wenn Vorname fehlt, wird einfach der Nachname in die Spalte übernommen, wo eigentlich der Vorname hingehört...
Gibt es eine möglichkeit den Code so zu ändern, dass leere Zellen innerhalb der abgefragten Range auch übernommen werden?