Einzelschritt vs. Normalablauf
Jörg-HH
Probleme mit dem gelegentlich auftretenden Unterschied zwischen Einzelschritt und Normalem Lauf sind ja im Archiv verschiedentlich beschrieben. Ich möchte eine weitere "Variante" hinzufügen...
Dieser Code läuft im Einzelschritt anstandslos
- Inhalte löschen
- Buttons löschen
- Inhalte kopieren/einfügen
- Buttons kopieren/einfügen
Wenn der Code aber normal abläuft, "vergißt" VBA den letzten Teil "Buttons kopieren/einfügen"
aaaaaber...
Wenn ich den Teil "Buttons löschen" auskommentiere (die For each Schleife), dann werden die Buttons im letzten Teil auch im Normal-Lauf eingefügt.
Hat jemand eine Idee, woran das liegen könnte?
Und falls "Wartezeit einbauen" als Anregung kommt - bitte gleich sagen, wie das geht - das weiß ich nämlich nicht :-(
Vielen Dank erstmal für 'ne Idee
Jörg
Dim wsFormular As Worksheet
Dim bHinterFormular As Boolean
Dim btn As Object
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Set wsFormular = ThisWorkbook.Worksheets("Formular")
bHinterFormular = False
For Each ws In ThisWorkbook.Worksheets
If ws.Name "config" _
And ws.Name "ToDo" _
And ws.Name "Formular" _
And bHinterFormular = True Then
ws.Cells.Clear 'Inhalte im aktuellen Blatt leeren
For Each btn In ActiveSheet.Buttons
ActiveSheet.Buttons("btnInfobereichDrucken").Delete 'löscht evtl. vorhd Schaltfläch
Next btn
wsFormular.Cells.Copy 'Blatt "Formular" kopieren...
ws.Range("A1").PasteSpecial Paste:=xlPasteAll '...und in aktuelles Blatt einfügen
wsFormular.Buttons("btnInfobereichDrucken").Copy 'Druckbutton kopieren...
ws.Activate '...und im aktuellen Blatt einfügen
ws.Range("BL257").Select
ws.Paste
ws.Range("A1").Select 'aktive Zelle auf A1 stellen
End If
If ws.Name = "Formular" Then
bHinterFormular = True
End If
Next ws
Application.CutCopyMode = False
Application.Calculation = xlCalculationAutomatic
wsFormular.Activate 'wieder das Formularblatt aktivieren...
Application.ScreenUpdating = True
ActiveWorkbook.Save 'Datei sichern.
...usw...