Makro wird nur teilweise ausgeführt
28.03.2018 09:21:10
Florian
ich habe ein Problem mit einem Excel Makro. Das Makro soll aus einer Tabelle (verschiedene Kategorien in den Zeilen und eine Zeitreihe über die Spalten) Zahlen auslesen und in einer untereinander darstellen (Datum/Kategorie/Wert...). Das Funktioniert soweit auch sehr gut nur hätte ich jetzt gerne pro Spalte noch ein Kommentarfeld hinzugefügt (eines Pro Monat).
Mein Problem ist nun, dass beim ausführen des Makros zwar das Kommentar genommen wird, aber der darauf folgende Befehl wird nicht mehr durchgeführt:
Next l
With WB2
.Sheets(1).Range("B:X").Delete
.Save
.Close
Hat jemand eine Idee was ich hier übersehe?
Der gesamte Code:
WB1.Activate
k = 0
For l = 4 To 15
i = 5
r = 37
j = 4
Do Until WB1.Sheets(l).Cells(4, j).Value = ""
i = 5
Do Until WB1.Sheets(l).Cells(i, 1).Value = ""
If WB1.Sheets(l).Cells(i, j).Value = "" Or WB1.Sheets(l).Cells(i, j).Value = 0 Then
i = i + 1
Else
k = k + 1
WB2.Sheets(1).Cells(k, 1).Value = Format(WB1.Sheets(l).Cells(4, j).Value, " _
yyyymmdd")
WB2.Sheets(1).Cells(k, 2).Value = Round(WB1.Sheets(l).Cells(i, j).Value, 0)
WB2.Sheets(1).Cells(k, 3).Value = WB1.Sheets(l).Cells(2, 3).Value
WB2.Sheets(1).Cells(k, 4).Value = WB1.Sheets(l).Cells(i, 1).Value
WB2.Sheets(1).Cells(k, 5).Value = WB1.Sheets(l).Cells(r, j).Value
WB2.Sheets(1).Cells(k, 1).Value = WB2.Sheets(1).Cells(k, 1).Value & ";" & WB2. _
_
_
_
_
Sheets(1).Cells(k, 2).Value & ";" & WB2.Sheets(1).Cells(k, 3).Value & ";" & _
WB2.Sheets(1).Cells(k, 4).Value & ";" & ";" & WB2.Sheets(1).Cells(k, 5).Value
i = i + 1
End If
Loop
j = j + 1
Loop
j = 4
Do Until WB1.Sheets(l).Cells(4, j).Value = ""
i = 19
Do Until WB1.Sheets(l).Cells(i, 1).Value = ""
If WB1.Sheets(l).Cells(i, j).Value = "" Or WB1.Sheets(l).Cells(i, j).Value = 0 Then
i = i + 1
Else
k = k + 1
WB2.Sheets(1).Cells(k, 1).Value = Format(WB1.Sheets(l).Cells(4, j).Value, " _
yyyymmdd")
WB2.Sheets(1).Cells(k, 2).Value = Round(WB1.Sheets(l).Cells(i, j).Value, 0)
WB2.Sheets(1).Cells(k, 3).Value = WB1.Sheets(l).Cells(2, 3).Value
WB2.Sheets(1).Cells(k, 4).Value = WB1.Sheets(l).Cells(i, 1).Value
WB2.Sheets(1).Cells(k, 5).Value = WB1.Sheets(l).Cells(r, j).Value
WB2.Sheets(1).Cells(k, 1).Value = WB2.Sheets(1).Cells(k, 1).Value & ";" & WB2. _
_
_
_
_
Sheets(1).Cells(k, 2).Value & ";" & WB2.Sheets(1).Cells(k, 3).Value & ";" & _
WB2.Sheets(1).Cells(k, 4).Value & ";" & ";" & WB2.Sheets(1).Cells(k, 5).Value
i = i + 1
End If
Loop
j = j + 1
Loop
Next l
With WB2
.Sheets(1).Range("B:X").Delete
.Save
.Close
End With