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)
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...
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...
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...
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...
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...
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...
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...
"Hajo" <hajoz...@web.de> schrieb im Newsbeitrag
news:%23WFWSIR...@TK2MSFTNGP10.phx.gbl...