Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1008to1012
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Beim Kopieren eines Tabellenblattes den VBA-Code e

Beim Kopieren eines Tabellenblattes den VBA-Code e
09.09.2008 09:58:00
Alfi
Hallo Excel-Gemeinde!
ich habe eine mehrblättrige Datei, per Makro kopiere ich ein Blatt und speichere dieses unter neuem Namen ab.
Dieses Blatt soll aber nicht mehr den VBA-Code der ursprübglichen Datei enthalten, sprich ein Blatt ohne Makros.
Wer kann mir helfen?
So sieht der Code zum Kopieren des Blattes aus:
Sub DateiEnde()
' *****Datei mit Datum im Archiv ablegen*****
Dim Verzeichnis As String
Dim Tabblatt As String
Dim Thema As String
Dim Erweiterung As String
Dim DateiName (1) As String
Dim Präfix As String
Application.Calculate
Application.ScreenUpdating = False
' Ermitteln der Laufwerksinfo
Blattschutz = setzeBlattschutz(False, "Archiv")
'Blattschutz = setzeBlattschutz(False, "Formular")
Verzeichnis = ":\Allgemein\Morgenbesprechung\Archiv\"
Erweiterung = ".xls"
FileInfo = "K"
Fileversion = Format([Heute], "YYYYMMDD")
DateiName = FileInfo & Verzeichnis & Tabblatt(Formular) & Fileversion & Erweiterung
'ChDir FileInfo & Verzeichnis
'Kopie des Datenblattes
Sheets("Formular").Select
Sheets("Formular").Copy
DateinameNew = ActiveWorkbook.FullName
ActiveWorkbook.SaveAs Filename:=DateiName
ActiveWorkbook.Close

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Beim Kopieren eines Tabellenblattes den VBA-Code e
09.09.2008 10:33:00
Chris
Servus,
ich würde vorschlagen, dass du ein DummySheet anlegst:
in etwa so nach der Zuweisung DateiName =...:
Sheets.Add After:=Sheets(Sheets.Count)
ActiveSheet.Name = DateiName
Sheets("Formular").Cells.Copy Sheets(DateiName).Range("A1")
Sheets(DateiName).Copy
DateinameNew = ActiveWorkbook.FullName
ActiveWorkbook.ActiveSheet.Name = "Formular"
ActiveWorkbook.SaveAs Filename:=DateiName
ActiveWorkbook.Close
Sheets(Sheets.Count).Delete
dann brauchst du nicht auf VB.Components zugreifen und mit DeleteLines arbeiten, dass wäre auch eine Möglichkeit, aber das kann mitunter Schwierigkeiten geben.
Das ist allerdings jetzt ungetestet.
Anzeige
AW: Beim Kopieren eines Tabellenblattes den VBA-Code e
09.09.2008 10:40:15
Alfi
Hallo Chris,
danke für die schnelle Antwot, werde es mal testen.
AW: Beim Kopieren eines Tabellenblattes den VBA-Code e
09.09.2008 11:23:00
Alfi
Hallo Chris,
klappt nur bedingt!
Tabellenblatt wird kopiert, als neue Datei abgelegt, jedoch der VBA-Code der dem Tabellenblatt zugeordnet war (kein Modul!) ist immer noch vorhanden.
Wir bekomme ich den noch weg?
Vielleicht fällt dir noch was ein!
AW: Beim Kopieren eines Tabellenblattes den VBA-Code e
09.09.2008 11:32:00
Chris
Servus Alfi,
das kann nicht sein, denn das DummySheet wird kopiert und im DummySheet, ist kein Code vorhanden, weil ja nur die Zellen aus Formular kopiuert wurden.
Gruß
Chris
AW: Nachtrag
09.09.2008 11:49:00
Chris
Servus Alfi,
ich hab aber einen anderen Fehler entdeckt "\" = verbotenes Zeichen, daher sollte das Sheet nicht den variablennamen DateiName bekommen sondern, ersetze DateiName durch "Dummy" oder so ähnlich, dann funktioniert das auch einwandfrei.
Gruß
Chris
Anzeige
AW: Beim Kopieren eines Tabellenblattes den VBA-Code e
10.09.2008 12:00:49
Alfi
Hallo nochmal,
funktioniert doch! Man muss nur richtig gucken!
Danke!
AW: Beim Kopieren eines Tabellenblattes den VBA-Code e
10.09.2008 14:37:00
Alfi
Hallo nochmal,
funktioniert doch! Man muss nur richtig gucken!
Danke!

344 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige