ich möchte ein excel Tabellenblatt in eine neue Datei kopieren.
Mit folgendem code fkt das auch gut:
Sub tab_export()
Dim dateiname As String
Dim tab_auswahl As String
tab_auswahl = "tabelleX"
'Dateiname festlegen:
dateiname = Application.GetSaveAsFilename(FileFilter:="Excel Files (*.xlsx), *.xlsx")
If LCase(dateiname) = "falsch" Or LCase(dateiname) = False Then
'Abbrechen wurde geklickt
MsgBox ("Der Vorgang wurde abgebrochen!")
Exit Sub
End If
Sheets(tab_auswahl).Copy
With ActiveSheet.UsedRange
.Copy
.PasteSpecial Paste:=xlValues
End With
Application.CutCopyMode = False
ActiveWorkbook.SaveAs Filename:=dateiname
ActiveWorkbook.Close
End Sub
Die neue Datei ist eigentlich ein Formular, d.h. ich möchte den Großteil der Zellen gesperrt haben. Über Blattschutz etc. fkt. das auch, allerdings steigt dann das Makro bei ".PasteSpecial Paste:=xlValues" aus. Die neue Datei wird zwar richtig erstellt (incl. geschützter Zellen usw.), allerdings wird eine neue Mappe erstellt; Der dateiname wird nicht übernommen, abspeichern kann dann nur manuell erfolgen. Gibt's dazu eine Lösung? Vielen Dank.