ich möchte das Blatt 2 meiner Datei ohne Code und Userforms etc speichern.
Mein Bisheriger Code sieht so aus:
Sub Speichern()
vntPathAndFile = Application.GetSaveAsFilename( _
InitialFileName:=strPath & "\" & strDateiname & ".xls", Title:="Speichern als")
strOriginal = ThisWorkbook.FullName
ActiveWorkbook.SaveAs vntPathAndFile
'Blätter löschen
For Each ws In ActiveWorkbook.Worksheets
If ws.Name "Blatt2" Then
Application.DisplayAlerts = False
ws.Delete
Application.DisplayAlerts = True
End If
Next ws
'Makros löschen
With ActiveWorkbook.VBProject
For Each objVBComponents In .VBComponents
Select Case objVBComponents.Type
Case 1, 2, 3 'Module, Klasssenmodule, Userforms
If objVBComponents.Name "MdlLöschen" Then
.VBComponents.Remove .VBComponents(objVBComponents.Name)
End If
Case 100 'Workbook, Sheets
With objVBComponents.CodeModule
.DeleteLines 1, .CountOfLines
End With
End Select
Next
End With
ActiveWorkbook.Save
Workbooks.Open strOriginal
End If
End Sub
Nun zu meinem Problem: Der Code wird gelöscht, aber nicht vor dem zweiten Speichern!? Wenn ich die Datei mit dem Blatt2 schließen möchte, werde ich gefragt, ob ich die Datei speichern möchte. Wenn ich das mache ist alles so wie gewünscht: in der neuen Datei ist Blatt2 ohne jeden Code.
Wenn ich aber nicht nochmal von Hand speichere, ist in der neuen Datei Blatt2 (alle anderen Blätter sind gelöscht), aber der vollständige Code und alle Userforms etc. sind noch vorhanden.
Wie kann ich das Blatt2 automatisch ohne Code speichern?
Danke und Gruß
Uppe
PS: Ich kann das Blatt nicht als Kopie in einer anderen Arbeitsmappe speichern, da mir sonst die Informationen aus dem Mailkopf verloren gehen.