Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1444to1448
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

Makroschleife läuft mal durch, mal nicht

Makroschleife läuft mal durch, mal nicht
15.09.2015 11:56:29
Rami
Hallo,
ich habe ein Problem mit einer Schleife, die aus einem bestimmten Zellbereich eine
gif-Datei erzeugt. Der Zellbereich wird beim Durchlauf immer mit neuen Werten berechnet und anschließend eine Grafik erzeugt. Insgesamt ca. 30 mal.
Nun läuft das Makro mal ohne Probleme durch, mal stoppt es nach dem 10. Bild,
mal schon nach dem 2., . . . völlig wahllos. Im Debug Modus ist dann immer diese
Zeile markiert:
".Range("b5:e13").CopyPicture Appearance:=xlScreen, Format:=xlPicture"
mit der Fehlermeldung:
"Laufzeitfehler 1004: Die CopyPicture-Methode des Range-Objektes konnte nicht ausgeführt werden"
Hier der Code. Wer toll, wenn jemand eine Idee hätte . . . Danke!
Sheets("settings").Select
ActiveSheet.Range("B3").Select
m = 1
For m = 1 To Range("B3").Value
Sheets("settings").Select
ActiveCell.Offset(1, 0).Select
Sheets("_data").Range("C2").Value = ActiveCell.Value
'leeren Zwischenablage
Application.CutCopyMode = False
With Worksheets("_Die_Meisten")
.Range("C2:E13").Calculate
.Range("b5:e13").CopyPicture Appearance:=xlScreen, Format:=xlPicture
End With
With Worksheets("_data").ChartObjects.Add(0, 0, 240, 155).Chart
.Paste
.Export strpath & Sheets("_data").Range("C2").Value & "_" & strMonth & ", " & strDate & ".gif"
.Parent.Delete
End With
Next

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makroschleife läuft mal durch, mal nicht
15.09.2015 16:30:47
Luschi
Hallo Rami,
da das Speichern der neuen Datei vom Betriebsdsystem erledigt wird und nicht von Excel,
muß man hier auch kontrollieren, ob die Datei schon erstellt wurde. Denn dieser Speichern-Task _ hat in Windows eine sehr niedrige Priorität; ich mach das immer so:

Sub MachEs()
Dim sPfad As String
'vorheriger Vba-Code
For m = 1 To Range("B3").Value
'vorheriger Vba-Code
With Worksheets("_data").ChartObjects.Add(0, 0, 240, 155).Chart
.Paste
sPfad = strpath & Sheets("_data").Range("C2").Value & "_" & _
strMonth & ", " & strDate & ".gif"
.Export sPfad
'prüfen, ob Datei schon angelegt ist
Do While Dir(sPfad, vbNormal) = ""
'wenn nicht, dann ...
DoEvents
' und 1 Sek. warten
Application.Wait Now + TimeValue("00:00:01")
Loop
.Parent.Delete
End With
'und weiter geht's
Next
End Sub
Gruß von Luschi
aus klein-Paris

Anzeige
AW: Makroschleife läuft mal durch, mal nicht
16.09.2015 15:15:27
Rami
Hallo Luschi,
vielen Dank für Deine Antwort. Ich habe das Makro entsprechend angepasst, leider ohne Erfolg.
Der Fehler poppt genauso sporadisch auf, wie vorher.
Ich habe es gerade 3x durchlaufen lassen. Beim ersten Durchlauf wurden 28 von 32 Bilddateien
ordnungsgemäß gespeichert, bis das Makro abgebrochen hat, beim 2. Durchlauf nur 2 und beim dritten
16 Dateien.
Dabei fand ich Deine Erklärung sehr schlüssig. Denn wir haben das Makro auf verschiedenen Rechnern
laufen lassen und es läuft auf einigen augenscheinlich deutlich besser, als auf anderen, was ja
durchaus mit der Performance des Rechners zu tun haben könnte. Auf allen ist Win 7 + Office10
installiert.
Hast Du noch eine Idee, was man probieren könnte?
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige