home RiV >
Ausgangssituation:
Ein Linkcheckerprogramm (xenu) erzeugt eine html-Datei (die ich in eine
Excel-Tabelle konvertiere),
in der untereinander (also in derselben Spalte) viele Blöcke stehen.
Jeder einzelne Block ist wie folgt aufgebaut:
- eine Zeile mit fehlerhaftem Ziel-Link
- eine Zeile mit zugehörigem error-code
- mehrere Zeilen (unbestimmte Anzahl) mit Quellen, die auf den Fehllink
verweisen.
- eine Leerzeile (danach kommt der nächste Block)
Ziel:
Die untereinander stehenden Zellen jedes einzelnen Blocks sollen nebeneinander
stehen, so dass aus jedem mehrzeiligen Block jeweils eine Zeile wird.
Grund des Ziels:
Die Blöcke sollen über die Spalte "Quelle" sortiert werden können.
-----------------------
Programmschema:
Durchlaufe alle Zellen der Spalte A der Reihe nach.
Kopiere die 1. Zelle des Blocks in die 3. Spalte (i) der 1. Zeile (count-u) des
Blocks
Kopiere die 2. Zeile des Blocks in die 4. Spalte (i+1) der 1. Zeile (count-u)
des Blocks
usw. bis die aktuelle Zelle leer ist (<> ""), also der nächste Block kommt.
Dann setze i wieder auf 3, denn bei dem nächsten Block soll die 1. Zelle wieder
in die 3. Spalte geschrieben werden.
---------------------------
Makro/VBA-Quelltext:
Sub BloeckeZuZeilen()
Dim i As Integer
Dim u As Integer
Dim z As Integer
i = 2
For Each Cell In Range("A1", Cells(Rows.Count, 1).End(xlUp).Address)
If Cell.Value <> "" Then
i = i + 1
u = i - 3
z = Count - u
Cell(z, i).Value = Cell.Value
Else
i = 2
End If
Next
End Sub
Wolfgang Hirth, 29.3.09