Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum
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


Halli Hallo,
ich bin ziemlicher Neuling in VBA. Daher würde ich euch bitten mir bei meiner Fragestellung zu helfen und zwar wie folgt: Ich möchte aus einer Tabelle aller Zellen kopieren, bis der Wert einer Zelle 0 annimmt. Diesen bestimten Bereich möchte ich in einer neuen Datei abspeichern...

Hi Leute
Ich habe hier diesen netten VBA Code geschrieben und leider wie solls auch anders sein kommt dauernd eine Fehlermeldung :)
CODE:
rowbeforeinteger = 2
Dim text As String
text = "=IF(" & epsoldcolumn & rowbeforeinteger & "=""x"";1;0)+IF(" & emailsoldco...

Hallo
zum Feierabend noch mal fix ne Frage
ich möchte in einem anderen sheet, in einer anderen Tabelle etwas suchen und danach 4 Zellen nach links gehen und den Wert kopieren...
Dim strActiveCell As String
Dim rFound As Range
Tabellenname = ActiveSheet.Name
Tabellenname...

Und nochmal Hallo.
Und schon wieder mit einem sehr "mysteriösen" Fehler:
Option Explicit Sub test() Dim zeile, i As Long Dim wks As Worksheet Dim wkb As Workbook Dim quelle As String For Each wkb In Workbooks If Right(wkb.Name, 4) = ".csv" And InStr(wkb.Name, "Pliste") > 0 Then que...

Hallo,
obwohl ich schon viel mit Excel gemacht habe, tauchen doch immer wieder Fragen auf:
Gibt es eine Möglichkeit, in einer Zelle einen Zeilenumbruch manuell einzufügen, ohne dass man bereits am Zellenende ist?
Ich denke, dass ist eine eher dumme Frage, aber ich habe derzeit keine...

Hallo,
ich bräuchte bitte eure Hilfe.
Hab folgende Formel...
Selection.FormulaArray = _
=IF(ROW(R[-107]C[-3])>COUNTA('1'!R5C[4]:R200C[4]),"""",INDEX('1'!R5C4:R200C4,SMALL(IF('1'!R5C[4]:R200C[4]<>"""",ROW(R1:R196),""""),ROW(R[-107]C[-3]))))"
Mein Problem ist, dass ic...
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige