Können sich zwei Makros überholen?
19.08.2022 13:07:52
Schneemann58
ich habe ein Problem, bei dem ich nicht mehr weiterkomme:
In einem ersten Schritt erzeuge ich eine Menge von Diagrammen:
Sub AlleDiagrammeErzeugen()
Tabelle3.AltersstrukturdiagrammErstellen
Tabelle5.KomplexesSituationenDiagrammFormatieren
Tabelle6.VollkostendiagrammKLVFormatieren
Tabelle6.VollkostendiagrammHWFormatieren
Tabelle18.PersonalkostendiagrammKLVFormatieren
Tabelle18.PersonalkostendiagrammHWFormatieren
Tabelle7.DatenpunktFormatierenLeistungskomplexität
Tabelle12.DatenpunktFormatierenPflegeleistungen
Tabelle13.VerrechenbarkeitsDiagrammFormatieren
Tabelle14.FluktuationsDiagrammFormatieren
Tabelle15.VerrechneteKLVStundenFormatieren
Tabelle8.WegZeitenDiagrammFormatieren
Tabelle9.ArbeitspensumDiagrammFormatieren
Tabelle16.KrankheitsratenDiagrammFormatieren
Tabelle17.DurchschnittsalterDiagrammFormatieren
Application.Goto Reference:="ErsteZelle" 'Springe ins Dashboard ganz zuoberst
' 3 Sekunden warten, sonst gibt es einen Runtime-Fehler!
Application.Wait Now + TimeValue("0:00:03")
End Sub
Excel braucht ca. 3 Minuten, um alle Diagramme zu erzeugen. Der letzte Schritt in jedem Makro besteht immer darin, dass ich das erzeugte Diagramm nehme und eine Kopie davon in ein Sheet "Dashboard" kopiere. In "Dashboard" habe ich also 15 Diagramme. Mit den Erklärungen zu den Diagrammen umfasst ein Ausdruck davon rund 40 Seiten.In einem zweiten Makro erzeuge ich dann aus den Resultaten ein pdf:
Sub Ein_PDF_Erstellen_Entwicklung()
Dim dateiname As String
' Schritt 1: Alle Diagramme dieser Organisation neu erzeugen
AlleDiagrammeErzeugen
' Schritt 2: PDF erstellen:
' Hole die Organisationsnummer
dateiname = Range("H9") 'Hole den Code der Organisation
dateiname = Range("R14") & dateiname & ".pdf" ' Pfad noch hinzufügen
ActiveWorkbook.ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=dateiname, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
...
An sich läuft die ganze Geschichte so. Was jetzt passiert, ist, dass Excel so etwa jedes dritte, vierte Mal nicht alle 40 Seiten als pdf erzeugt, sondern nur eine Seite mit dem zuletzt kopierten Diagramm! Ich habe den Eindruck, dass Excel mit dem Erzeugen des PDFs beginnt, bevor das letzte Diagramm (DurchschnittsalterDiagramm) in "Dashboard" zur Verfügung steht.Deshalb habe ich am Ende von "AlleDiagrammeErzeugen()" eine Pause von drei Sekunden eingebaut. Ohne Wirkung!
ich komme nicht mehr weiter und freue mich über jede Antwort.
Herzliche Grüsse Schneeemann58