ich habe eine Vorlage mit 4 Blättern, daß vierte ist versteckt und heißt bak.
Ich will die Vorlage per makro abspeichern, wobei das erste blatt gegen das bak ausgestauscht werden soll.
So sieht mein Makro durch die Mithilfe von H.Herber aus:
Sub Vorlage_speichern()
Const Pfad As String = "C:\fertig2.xlt"
Dim Antwort As Variant, Mdlg As String, Stil As Variant
Mdlg = "Vorlage speichern?"
Stil = vbYesNo
Antwort = MsgBox(Mdlg, Stil)
If Antwort = vbYes Then
ActiveWorkbook.Unprotect
Application.DisplayAlerts = False
Worksheets("Rechnung").Delete
Application.DisplayAlerts = True
Worksheets("back").Visible = True
Worksheets("back").copy before:=Worksheets(1)
With Worksheets(1)
.Name = "Rechnung"
.Protect
.Select
End With
Worksheets("back").Visible = False
ActiveWorkbook.Protect
On Error GoTo Errorhandler
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Pfad
Application.DisplayAlerts = True
MsgBox "Datei wurde gespeichert !"
Else
MsgBox "Datei nicht gespeichert !", vbOKOnly
End If
Exit Sub
Errorhandler:
MsgBox "Der Ordner wurde nicht gefunden"
End Sub
Funktioniert auch sehr gut, nur wenn ich die abgespeicherte Vorlage später öffne will komm bei excel eine Fehlermeldung:
EXCEL verursachte einen Fehler durch eine ungültige Seite
in Modul EXCEL.EXE bei 018f:3005c673.
Register:
EAX=00000018 CS=018f EIP=3005c673 EFLGS=00010206
EBX=308c9dd5 SS=0197 ESP=0062e4b4 EBP=0062e4c8
ECX=016dbab0 DS=0197 ESI=00000000 FS=15cf
EDX=00000001 ES=0197 EDI=00000018 GS=0000
Bytes bei CS:EIP:
83 20 00 8d 45 f4 50 ff 75 10 e8 6c fc ff ff ff
Stapelwerte:
00000000 016ce1c8 016ceac8 0062e4ec 308c9dd5 0062e4ec 3005c610 004adda4 00000000 00000000 00000018 00f6b274 00f6b328 006fd860 0062e504 3005c580
Diese Meldung erscheint nur bei der besagten Vorlage nach dem Speichern per makro!
Was mache ich falsch????
W.Schleifer