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 aus:
Sub Vorlage_speichern()
Dim Antwort, Mdlg, Stil
Mdlg = "Vorlage speichern ? (Alle Änderungen von Tätigkeiten und Kunden werden mit in die Vorlage gespeichert !!!)"
Stil = vbYesNo
Antwort = MsgBox(Mdlg, Stil)
If Antwort = vbYes Then
ActiveWorkbook.Unprotect
Sheets("back").Visible = True
Sheets("back").Select
Sheets("back").copy Before:=Sheets(1)
Sheets("Rechnung").Select
Sheets("Rechnung").Unprotect
Application.DisplayAlerts = False
ActiveWindow.SelectedSheets.Delete
Application.DisplayAlerts = True
Sheets("back (2)").Select
Sheets("back (2)").Name = "Rechnung"
Sheets("Rechnung").Select
Sheets("Rechnung").Protect
Sheets("back").Visible = False
ActiveWorkbook.Protect
Const Pfad = "C:\WINDOWS\Profiles\werner\Anwendungsdaten\Microsoft\Vorlagen\fertig2.xlt"
On Error GoTo Errorhandler
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs (Pfad)
Application.DisplayAlerts = True
MsgBox "Datei wurde gespeichert !"
Exit Sub
Else
GoTo Abbruch
End If
Abbruch:
MsgBox "Datei nicht gespeichert !", vbOKOnly
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