Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1936to1940
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

VBA SaveCopyAs

VBA SaveCopyAs
01.08.2023 22:53:50
PeTeR
Hallo VBA-Profis,
ich brauche bitte mal wieder eure Hilfe:
1) Ich habe eine Datei "Original.xlsB"
2) Das Makro in der Datei "Original.xlsB" soll nun eine Kopie der Datei erstellen: "Kopie.xlsX" und in dieser Kopie arbeiten, so dass eben nur in der Kopie gearbeitet wird, aber keinesfalls im Original.
Beim SaveCopyAs kann man kein neues Dateiformat angeben, ausserdem ist die Kopie danach nicht geöffnet :-(
Vielen Dank für eure Unterstützung!
VG
PeTeR

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
VBA SaveCopyAs
02.08.2023 16:50:02
daniel
Hi
SaveCopyAs speichert immer eine 1:1-Kopie der Datei, dh. du kannst das Dateiformat nicht ändern.

speichere einfach die Datei mit SaveAs "neuerdateiname ohne Endung", Dateiformat
damit hast du die Datei nicht nur auch als Kopie zum Original gespeichert, sondern du befindest sich auch schon sofort in dieser Kopie und arbeitest in dieser.
Das normale SaveAs macht eigentlich genau das was deiner Beschreibung nach willst.
(Komplizierter wirds, wenn man eine Datei als Kopie in einem anderen Dateiformat speichern will, aber dann im Original weiterarbeiten möchte)
Einziger Problempunkt: die Makros sind vorerst weiterhin gültig, die werden nur in der gespeicherten Datei gelöscht, nicht aber in der Version im Speicher.
Dh erst beim Wiederöffnen einer xlsx wird das Löschen der Makros wirksam.

Um das Überschreiben der Originaldatei zu verhindern, würde ich für diese über den Dateiexplorer den Schreibschutz setzen.
Das ist einfach nur ein Häkchen in den Dateieigenschaften, das gesetzt werden kann. Es hat zwar keinen Passwortschutz, aber Zugang schützt in der Regel ausreichend vor unabsichtlicher Änderung.

Gruß Daniel
Anzeige
VBA SaveCopyAs
02.08.2023 07:53:25
Peter Trawinski
Ist was du suchst nicht einfach "Save as"? Speichert unter neuem Namen, ggf. anderes Format, schließt das Original und befindet sich in der Kopie!?
VBA SaveCopyAs
02.08.2023 16:35:16
onur
UND: Es wäre nicht wirklich eine Kopie, da ohne Makros.
" Das Makro .... soll nun eine Kopie der Datei erstellen .... und in dieser Kopie arbeiten" - DAS geht nur, wenn beide Versionen der Datei geöffnet sind. Wenn die xlsb geschlossen wird, hört das Makro logischerweise auf, zu arbeiten.
Es geht nur so:
Kopie speichern
Kopie öffnen (und aktivieren)
Makro ab da so umschreiben, daß alle Dateizugriffe sich nur noch auf "ActiveWorkbook" beziehen.

Deswegen fragte ich ja auch, was er mit "weiterarbeiten" meint....
Wenn er aber meint, dass die xlsb-Datei geschlossen wird und das Makro in der xlsx weiterarbeiten soll, kann er es vergessen, da ja xlsx keine Makros haben.
Anzeige
VBA SaveCopyAs
02.08.2023 16:13:47
Oberschlumpf
DA hätten WIR auch drauf kommen können!

PeTeR sucht ne Lösung mit SaveCopyAs

Aber eine KOPIE! kann nicht im anderen Format gespeichert werden - is ja ne Kopie!

Der andere Peter hat natürlich recht mit "Save As" ! nur er hat recht, sonst niemand hier.
AW: VBA SaveCopyAs
01.08.2023 23:03:50
onur
"Beim SaveCopyAs kann man kein neues Dateiformat angeben" ?
Wer hat dir das denn erzählt?
"so dass eben nur in der Kopie gearbeitet wird" ?
Was genau soll das heissen?
VBA SaveCopyAs
02.08.2023 08:55:42
PeTeR
Hallo Onur,
das erzählt mir die MS-Hilfe und diverse Foren. SaveCopyAs hat nur einen Parameter: Filename
Aber du kannst mir gerne den Befehl posten: SaveCopyAs MIT Fileformat
Anzeige
VBA SaveCopyAs
02.08.2023 10:19:12
onur
Aber meine zweite Frage hast du noch nicht beantwortet...
VBA SaveCopyAs
02.08.2023 09:56:56
onur
FILENAME kann jede beliebige Endung haben - xlsb, xlsm oder xlsx.
VBA SaveCopyAs
02.08.2023 10:12:18
onur
Korrektur: Hast Recht, Excel speichert dann zwar, aber kann sie evtl nicht mehr öffnen.
Sorry, aber im Prinzip hatte ich auch Recht..... :))
VBA SaveCopyAs
02.08.2023 01:53:16
Oberschlumpf
Hi,

Ich vermute: "Was genau soll das heissen?" = zuvor gespeicherte xlsX-Datei öffnen, Original-xlsB schließen

Ciao
Thorsten
VBA SaveCopyAs
02.08.2023 02:16:36
onur
Und das Makro springt von der xlsb zur xlsx-Datei und macht von da aus weiter ???
VBA SaveCopyAs
02.08.2023 02:48:38
Oberschlumpf
dann eben nur xlsB schließen (bevor du es vllt tust: frag nich mich, ob der Fragende das mit VBA gut nich selbst + allein hinbekommt, sondern frag ihn direkt)
Anzeige

308 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige