AW: Daten umkopieren
10.04.2008 19:05:41
Erich
Hi Jens,
wenn die ersten drei Spalten "wie sie sind" übertragen und die vierte Spalte gesplittet werden soll,
geht das so:
Option Explicit
Sub Aufteile2()
Dim zQ As Long, zZ As Long, varA, ii As Integer
With Worksheets("Tabelle1")
Worksheets("Tabelle2").Activate
Cells.ClearContents
Columns("C").NumberFormat = "@"
While Not IsEmpty(.Cells(zQ + 1, 1))
zQ = zQ + 1
zZ = zZ + 1
Cells(zZ, 1).Resize(, 3) = .Cells(zQ, 1).Resize(, 3).Value
If Not IsEmpty(.Cells(zQ, 4)) Then
varA = Split(.Cells(zQ, 4), ",")
Cells(zZ, 3) = varA(0)
For ii = 1 To UBound(varA)
zZ = zZ + 1
Cells(zZ, 4) = varA(ii)
Next ii
End If
Wend
End With
End Sub
Vergleich doch mal diesen Code mit dem vorigen - dann siehst du die Änderungen.
Das Auftrennen passiert mit der Split-Funktion (wie der Name schon sagt):
varA = Split(.Cells(zQ, 4), ",")
Damit wird der Text aus Zelle in Zeile Spalte zQ, Spalte 4 anhand des Trennzeichens "," aufgeteilt.
Das Ergebnis steht dann im Variant-Datenfeld varA.
varA besteht aus des Teilen varA(0), varA(1), ... bis varA(n)
n ist Ubound(varA), die Nummer des letzten Eintrags in varA.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort