Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Kopieren Tabellenblatt in neue Datei

505 views
Skip to first unread message

Jan Roscher

unread,
Jun 12, 2003, 10:20:13 AM6/12/03
to
Hallo

Ich habe folgendes Problem
- Ich möchte das Tabellenblatt ( Tagesabrechnung ) in
einem neuen Datei speichern ( Sicherheitscopie ).

- Dabei sollen bis auf die Formeln ( Werte und Formatierung übernehmen)
alles in die neue Tabelle übernommen werden.
( Bei dem versuch mit dem untenstehenden Makro ( selbsaufgezeichnet )
werden die Formen mit übernommen ) .

- Als letztes müßte die Tabelle unveränderbar gemacht werden
und ohne nachfrage im Format ( siehe Makro ) gespeichert werden.

- Das Hauptdatei darf aber nicht geschlossen werden.

Sheets("Tagesabrechnung").Copy
ActiveWorkbook.SaveAs Filename:= _
"C:\Verkauf\Sicherheitskopie\Kopie Abrechnung_" & Format _
(Now, "DD.MM.YY_HH.MM.ss") & ".xls", FileFormat:= _
xlNormal, Password:="", WriteResPassword:="",
ReadOnlyRecommended:=False _
, CreateBackup:=False
End Sub

Wer kann mir helfen, habe noch nicht den richtigen durchblick in VBA.


Mit freundlichen Grüßen und besten Dank für die Hilfe

Jan Roscher
______________________________________________
Win XP (home) Sp1 ; Office 2000 Sp3 (1904-Datumwerte)


Hajo

unread,
Jun 12, 2003, 10:44:51 AM6/12/03
to
Hallo Jan

ich habe mal folgendes Makro erstellt mit dem wird von einer geöffneten
Datei eine Datenkopie erstellt ohne Formeln.

Sub Copy_And_Save_Tablevalue()
' erstellt von HajoZ...@web.de 21.03.03
' Kopie einer Datei ohne Formeln, Register nicht geschützt
Dim InI As Integer
Workbooks.Add
ActiveWorkbook.SaveAs ThisWorkbook.Path & "\Kopie_von" &
ThisWorkbook.Name
For InI = ThisWorkbook.Worksheets.Count To 1 Step -1
If InI <> ThisWorkbook.Worksheets.Count Then Sheets.Add
ThisWorkbook.Worksheets(InI).Cells.Copy
With ActiveWorkbook.ActiveSheet.Cells
.PasteSpecial Paste:=xlPasteValues ' Werte
.PasteSpecial Paste:=xlFormats ' Formate
End With
ActiveWorkbook.ActiveSheet.Name = ThisWorkbook.Worksheets(InI).Name
Next InI
Application.CutCopyMode = False 'Zwischenspeicher löschen
MsgBox "Reine Datentabelle gespeichert als: " & ThisWorkbook.Path &
"\Kopie_von" & ThisWorkbook.Name
ActiveWorkbook.Close True
End Sub

Gruß Hajo

"Jan Roscher" <Jan.Rosc...@Arcor.de> schrieb im Newsbeitrag
news:3ee88c1d$0$6794$9b4e...@newsread4.arcor-online.net...

Jan Roscher

unread,
Jun 12, 2003, 11:45:04 AM6/12/03
to
Hallo Hajo

Das Makro Kopiert leider die ganze Datei ich brauche nur eine
Sicherheitscopie
vom Tabellenblatt "Tagesabrechnung" die anderen Tabellenblätter möchte ich
nicht mit Kopieren
Ansonsten ein guter Lösungsansatz mit der Zwischenablage.
Hat mich auf eine andere Idee für ein anderes Problem gebracht.
Geht die Datei nicht im Format
C:/Verkauf/Sicherheitscopie/Verkauf_27.06.03_12:45.xls zu speichern.
("C:\Verkauf\Sicherheitskopie\Kopie Abrechnung_" & Format _ (Now,
"DD.MM.YY_HH.MM.ss") & ".xls")
Aber woher weis das Makro das die Datei so heißt.


--

Mit freundlichen Grüßen und besten Dank

Jan Roscher


______________________________________________
Win XP (home) Sp1 ; Office 2000 Sp3 (1904-Datumwerte)

"Hajo" <hajoz...@web.de> schrieb im Newsbeitrag
news:umS2XFPM...@TK2MSFTNGP11.phx.gbl...

Hajo

unread,
Jun 12, 2003, 12:19:06 PM6/12/03
to
Hallo Jan

ich habe es jetzt nicht getestet. Bei meinem Beispiel sind ja nur einige
Zeilen zu ändern.

Sub Copy_And_Save_Tablevalue()
' erstellt von HajoZ...@web.de 12.06.03


' Kopie einer Datei ohne Formeln, Register nicht geschützt
Dim InI As Integer
Workbooks.Add

' hier wird der neue name festgelegt
' ActiveWorkbook.SaveAs ThisWorkbook.Path & "\Kopie_von" &
ThisWorkbook.Name
ActiveWorkbook.SaveAs "C:\Verkauf\Sicherheitskopie\Kopie Abrechnung_" &


Format _
(Now, "DD.MM.YY_HH.MM.ss") & ".xls"

'For InI = ThisWorkbook.Worksheets.Count To 1 Step -1


' If InI <> ThisWorkbook.Worksheets.Count Then Sheets.Add

ThisWorkbook.Worksheets("Tagesabrechnung").Cells.Copy


With ActiveWorkbook.ActiveSheet.Cells
.PasteSpecial Paste:=xlPasteValues ' Werte
.PasteSpecial Paste:=xlFormats ' Formate
End With

ActiveWorkbook.ActiveSheet.Name = "Tagesabrechnung"
' ActiveWorkbook.ActiveSheet.Name = ThisWorkbook.Worksheets(InI).Name


'Next InI
Application.CutCopyMode = False 'Zwischenspeicher löschen
MsgBox "Reine Datentabelle gespeichert als:

C:\Verkauf\Sicherheitskopie\Kopie Abrechnung_" & Format _
(Now, "DD.MM.YY_HH.MM.ss") & ".xls"

' MsgBox "Reine Datentabelle gespeichert als: " & ThisWorkbook.Path &


"\Kopie_von" & ThisWorkbook.Name
ActiveWorkbook.Close True
End Sub


Gruß Hajo

"Jan Roscher" <Jan.Rosc...@Arcor.de> schrieb im Newsbeitrag

news:3ee8a002$0$6790$9b4e...@newsread4.arcor-online.net...

Jan Roscher

unread,
Jun 12, 2003, 1:37:41 PM6/12/03
to
Hallo Hajo

Klapp leider nicht so .
Werde mir einen anderen Weg suchen.

Nochmals vielen Dank

Jan

"Hajo" <hajoz...@web.de> schrieb im Newsbeitrag

news:ev3Wa5PM...@tk2msftngp13.phx.gbl...

Hajo

unread,
Jun 12, 2003, 2:04:36 PM6/12/03
to
Hallo Jan

das konnte mir nicht vorstellen das es solchen nicht Erfolg hat. Darum habe
ich es mal an mein Laufwerk angepaßt und es läuft Fehlerfrei.
Die Kommentarzeilen habe ich mal entfernt.

Sub Copy_And_Save_Tablevalue()
' erstellt von HajoZ...@web.de 12.06.03
' Kopie einer Datei ohne Formeln, Register nicht geschützt
Dim InI As Integer
Workbooks.Add
' hier wird der neue name festgelegt

ActiveWorkbook.SaveAs "D:\Eigene Dateien\Hajo\Kopie Abrechnung_" &


Format _
(Now, "DD.MM.YY_HH.MM.ss") & ".xls"

ThisWorkbook.Worksheets("Tagesabrechnung").Cells.Copy
With ActiveWorkbook.ActiveSheet.Cells
.PasteSpecial Paste:=xlPasteValues ' Werte
.PasteSpecial Paste:=xlFormats ' Formate
End With
ActiveWorkbook.ActiveSheet.Name = "Tagesabrechnung"

Application.CutCopyMode = False 'Zwischenspeicher löschen

MsgBox "Reine Datentabelle gespeichert als: D:\Eigene Dateien\Hajo\Kopie


Abrechnung_" & Format _
(Now, "DD.MM.YY_HH.MM.ss") & ".xls"

ActiveWorkbook.Close True
End Sub

Gruß Hajo

"Jan Roscher" <Jan.Rosc...@Arcor.de> schrieb im Newsbeitrag

news:3ee8ba6a$0$6794$9b4e...@newsread4.arcor-online.net...

Jan Roscher

unread,
Jun 12, 2003, 2:34:32 PM6/12/03
to
Hallo Hajo

Entschuldigung aber es läuft immer noch nicht .
habe jetzt über Makrorecorder ein neues Makro aufgezeichnet
Schau es die mal an.
Es läuft auch bis auf die Abfrage des Blattschutzes.
Da muß ich mir noch was einfallen lassen
der Anwender der Die Datei bearbeitet soll das Kennwort nicht wissen.
werde mal in der NG nach Lösungen suchen
Nochmals Danke für die Hilfe und nicht böse sein weil es bei mir nicht
richtig läuft

Hier mein jetziger Code
Sub Copieren2()
Sheets("Tagesabrechnung").Copy
ActiveSheet.Unprotect
Columns("A:F").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=
_
False, Transpose:=False
Application.CutCopyMode = False
Selection.Locked = True
ActiveSheet.Protect DrawingObjects:=True, Contents:=True,
Scenarios:=True
ActiveWorkbook.SaveAs Filename:= _
"C:\Sovenirverkauf\Sicherheitskopie\Kopie Abrechnung_" & Format _


(Now, "DD.MM.YY_HH.MM.ss") & ".xls", FileFormat:= _
xlNormal, Password:="", WriteResPassword:="",
ReadOnlyRecommended:=False _
, CreateBackup:=False

Application.CutCopyMode = False
ActiveWindow.Close
End Sub

Irgend etwas mach ich fasch habe jetzt versucht einen


"Hajo" <hajoz...@web.de> schrieb im Newsbeitrag

news:uI2bp0QM...@TK2MSFTNGP11.phx.gbl...

Hajo

unread,
Jun 12, 2003, 2:40:15 PM6/12/03
to
Hallo Jan

von Blattschutz war bisher nicht die Rede.
ergänze das auf heben des Schutzes in meinen Code und alles ist ok.

Gruß Hajo


"Jan Roscher" <Jan.Rosc...@Arcor.de> schrieb im Newsbeitrag

news:3ee8c7ba$0$6786$9b4e...@newsread4.arcor-online.net...

Jan Roscher

unread,
Jun 12, 2003, 2:54:56 PM6/12/03
to
Entschuldigung habe ich wohl bei der Hitze und im
eifer des Gefechtes
Vergessen .
Danke nochmal für deine Bemühungen.


"Hajo" <hajoz...@web.de> schrieb im Newsbeitrag

news:%23WFWSIR...@TK2MSFTNGP10.phx.gbl...

0 new messages