AW: Tabellenblatt kopieren und Code ein fügen
19.08.2011 01:04:25
fcs
Hallo Namensvetter,
theorethisch kann man das was du vorhast.
Dazu müssen aber Makro-Sicherheitseinstellungen in Excel deaktiviert werden (hier Zugriff auf VBA-Projekt erlauben).
Einfacher ist es, wenn du eine Exelvorlage-Datei erstellst und in dieser das Makro enthalten ist.
Zum Kopieren des Tabellenblatts öffnest du auf Basis der Vorlage eine neue Arbeitsmappe, kopierst das Tabellenblatt in die Neue Arbeitsmappe und löscht dann das in der Vorlage schon vorhandene Tabellenblatt.
Gruß
Franz
Sub CopyTab()
Dim wbNeu As Workbook, wbAktiv As Workbook, wksCopy As Worksheet, iSheet
Dim sTemplate As String
'Name der Vorlagedatei mit den Makros
sTemplate = ThisWorkbook.Path & Application.PathSeparator & "Vorlage01.xlt"
Set wbAktiv = ActiveWorkbook
Set wksCopy = wbAktiv.Worksheets("Tabelle1") 'zu kopierendes Blatt
'Neu Mappe auf Basis Template-Datei
Set wbNeu = Application.Workbooks.Add(Template:=sTemplate)
'Blatt kopieren und in Vorlage vorhande Blätter löschen
wksCopy.Copy before:=wbNeu.Sheets(1)
Application.DisplayAlerts = False
For iSheet = 2 To wbNeu.Sheets.Count
wbNeu.Sheets(iSheet).Delete
Next
wbNeu.Sheets(1).Name = wksCopy.Name
Application.DisplayAlerts = False
Application.Dialogs(xlDialogSaveAs).Show
End Sub