Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1616to1620
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Makro wird nur teilweise ausgeführt

Makro wird nur teilweise ausgeführt
28.03.2018 09:21:10
Florian
Hallo Liebe Forengemeinde,
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

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro wird nur teilweise ausgeführt
01.04.2018 08:26:48
Oberschlumpf
Hi Florian,
eine Bsp-Datei per Upload, die die erforderlichen Bsp-Daten und den VBA-Code enthält, wäre schön.
Gestalte die Datei so, dass dein Problem nachvollziehbar ist.
Ciao
Thorsten
Anzeige

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige