Liebe VBA Forum Gemeinde,
ich habe eine Tabelle mit 400 Zeilen und 37 Spalten. Der Inhalt sieht wie folgt aus:
Nummer |
Name |
Anbieter |
Verlauf_1 |
Verlauf_2 |
Verlauf_3 |
Verlauf_4 |
Verlauf_5 |
Verlauf_6 |
Verlauf_7 |
Verlauf_8 |
Verlauf_9 |
Verlauf_10 |
Verlauf_11 |
... |
... |
... |
Kiel |
Preetz |
Plön |
Eutin |
Süselerbaum |
Bad Schwartau |
Lübeck |
Ratzeburg |
Mölln |
Breitenfelde |
Berlin |
... |
... |
... |
Arhus |
Vejle |
Kolding |
Flensburg |
Neumünster |
Bad Segeberg |
Berlin |
|
|
|
|
1. Problem: Wenn zwischen Verlauf_1 und Verlauf_34 x Spalten mit Werten gefüllt sind, dann müssen y = x - 2 neue Zeilen unter der jeweiligen Zeile erstellt werden. Ich habe folgende Formel für die Erstellung neuer Zeilen benutzt, deren Anzahl ist aber nicht dynamisch.
Sub Leerzeilen()
Dim i As Integer
Dim z As Integer
Application.ScreenUpdating = False
For i = Cells(Rows.Count, 1).End(xlUp).Row To 2 Step -1
For z = 1 To 5
Cells(i, 1).EntireRow.Insert Shift:=xlDown
Next z
Next i
Application.ScreenUpdating = True
End Sub
2. Problem: Aus der jeweiligen Zeile müssen die Werte der 5 und 6. Spalte zu denen der 4. und 5. Spalte der 1. neuen Spalte. Die der 6. und 7. Spalte zur 4. udn 5. der 2. neuen Spalte... und so weiter. Nochmal optisch:
Hier als Beispiel:
…
|
… |
… |
Kiel |
Preetz |
Plön |
Eutin |
Süselerbaum |
Bad Schwartau |
Lübeck |
Ratzeburg |
Mölln |
Breitenfelde |
Berlin |
|
|
|
Preetz |
Plön |
|
|
|
|
|
|
|
|
|
|
|
|
Plön |
Eutin |
|
|
|
|
|
|
|
|
|
|
|
|
Eutin |
Süselerbaum |
|
|
|
|
|
|
|
|
|
|
|
Süselerbaum |
Bad Schwartau |
|
|
|
|
|
|
|
|
|
|
|
Bad Schwartau |
Lübeck |
|
|
|
|
|
|
|
|
|
|
|
|
Lübeck |
Ratzeburg |
|
|
|
|
|
|
|
|
|
|
|
|
Ratzeburg |
Mölln |
|
|
|
|
|
|
|
|
|
|
|
|
Mölln |
Breitenfelde |
|
|
|
|
|
|
|
|
|
|
|
Breitenfelde |
Berlin |
|
|
|
|
|
|
|
|
|
Wie ergänze ich die existierende VBA Formel um beide Probleme zu lösen?
Vielen lieben Dank schonmal!
|