Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Kopie ohne Makro speichern und im original bleiben

Kopie ohne Makro speichern und im original bleiben
28.09.2015 19:54:36
Dennis
Hallo zusammen,
nachdem ich hier in diesem tollen Form seit geraumer Zeit mitlese und schon einige super Ideen bekommen und umgesetzt habe, habe ich nun ein Problem, zu dem ich leider im Netzt noch keine Lösung gefunden habe.
Ich habe eine Schichtplan-Datei im .xlsm Format mit einigen Makros
Diese würde ich gerne anderen Arbeitskollegen zur Verfügung stellen, aber nur zur Ansicht und auch nur bis zu bestimmten Änderungsständen.
Das heißt, ich möchte in der original Datei ein Makro ausführen, welches mir an einem bestimmten Speicherort eine Kopie im .xlsx Format anlegt.
Allerdings möchte ich diese Datei nicht öffnen, sprich die Original Datei, welche sich an einem anderen Speicherort befindet soll geöffnet bleiben.
Mit folgender Funktion klappt das speichern wunderbar, ich befinde mich allerdings danach direkt in der gespeicherten Datei
Sub Speichern()
Dim strDname As String
strDname = "C:\Excel\" & "test.xlsx"
ActiveWorkbook.SaveAs strDname, FileFormat:=xlOpenXMLWorkbook
End Sub
Hat jemand eine Idee?
Danke schon mal
Gruß Dennis

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kopie ohne Makro speichern und im original bleiben
28.09.2015 19:57:33
Hajo_Zi
Hallo Dennis,
vielleicht
.SavecopyAs

AW: Kopie ohne Makro speichern und im original bleiben
28.09.2015 20:02:24
Dennis
Hallo Hajo,
daran hatte ich auch schon gedacht. Nur speichert die Funktion .SaveCopyAs eine 1:1 Kopie mit Makros.
Diese will ich bewusst in der Kopie nicht haben.

Anzeige
AW: Kopie ohne Makro speichern und im original bleiben
28.09.2015 20:23:42
Daniel
Hi
das SaveCopyAs speichert nur eine 1:1-Kopie, bei man ausser dem Namen nichts ändern kann.
mein Workaround wäre, dass du dir vor dem Speichern als xlsx den alten Dateinamen und das Fileformat in einer Variablen merkst und dann am Schluss die Datei nochmal mit SaveAs und den alten Werten speicherst, dann bist du im Prinzip wieder auf der "alten" Datei, nur dass du sie nochmal gespeichert hast.
Sub Speichern()
Dim altDateiname As String
Dim altFileFormat As Long
Dim neuDateiname As String
altDateiname = ActiveWorkbook.FullName
altFileFormat = ActiveWorkbook.FileFormat
neuDateiname = "C:\Excel\" & "test.xlsx"
ActiveWorkbook.SaveAs neuDateiname, FileFormat:=xlOpenXMLWorkbook
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs altDateiname, altFileFormat
Application.DisplayAlerts = True
End Sub
wenn du die alte Datei nicht automatisch mit speichern willst, dann müsstest du eine neue Datei anlegen, die Sheets einzeln rüberkopieren und dann diese Datei speichern.
gruss Daniel

Anzeige
AW: Kopie ohne Makro speichern und im original bleiben
28.09.2015 20:38:52
Dennis
Hallo Daniel,
danke für die Anregung.
Habe das gerade mal ausprobiert.
Bekomme da folgende Meldung
Userbild
Userbild
Aber die Idee ist gut daran habe ich auch schon gedacht

Anzeige
AW: Kopie ohne Makro speichern und im original bleiben
28.09.2015 20:41:28
Dennis
Habe das jetzt folgendermaßen gelöst:
Scheint zu funktionieren.
Sub Speichern()
Dim strCopyName As String
Dim strPath As String
Dim strName As String
Application.ScreenUpdating = False
Application.DisplayAlerts = False
strPath = ActiveWorkbook.Path
strName = ActiveWorkbook.Name
strCopyName = "C:\Users\Dennis\Excel\" & "test.xlsx"
ActiveWorkbook.SaveAs strCopyName, FileFormat:=xlOpenXMLWorkbook
ActiveWorkbook.SaveAs strPath & "\" & strName, FileFormat:=xlOpenXMLWorkbookMacroEnabled
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
Ich Danke euch für die Hilfe
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Kopie einer Excel-Datei ohne Makros speichern


Schritt-für-Schritt-Anleitung

  1. Öffne die Excel-Datei: Stelle sicher, dass du die Excel-Datei im .xlsm Format geöffnet hast.

  2. VBA-Editor öffnen: Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Neues Modul hinzufügen: Klicke mit der rechten Maustaste auf „VBAProject (deinDateiname)“ und wähle „Einfügen“ > „Modul“.

  4. VBA-Code einfügen: Kopiere den folgenden Code in das Modul:

    Sub Speichern()
       Dim strCopyName As String
       Dim strPath As String
       Dim strName As String
       Application.ScreenUpdating = False
       Application.DisplayAlerts = False
       strPath = ActiveWorkbook.Path
       strName = ActiveWorkbook.Name
       strCopyName = "C:\Users\Dennis\Excel\" & "test.xlsx"
       ActiveWorkbook.SaveAs strCopyName, FileFormat:=xlOpenXMLWorkbook
       ActiveWorkbook.SaveAs strPath & "\" & strName, FileFormat:=xlOpenXMLWorkbookMacroEnabled
       Application.DisplayAlerts = True
       Application.ScreenUpdating = True
    End Sub
  5. Anpassen des Dateipfades: Ändere den Dateipfad C:\Users\Dennis\Excel\ zu deinem gewünschten Speicherort.

  6. Makro ausführen: Schließe den VBA-Editor und führe das Makro aus, um eine Kopie ohne Makros zu speichern.

  7. Überprüfen: Stelle sicher, dass die Kopie an dem angegebenen Speicherort erstellt wurde.


Häufige Fehler und Lösungen

  • Fehler: "Datei kann nicht gespeichert werden": Überprüfe den angegebenen Speicherort und stelle sicher, dass du Schreibrechte hast.

  • Fehler: "Dateiformat nicht unterstützt": Stelle sicher, dass der FileFormat korrekt auf xlOpenXMLWorkbook gesetzt ist, um eine .xlsx-Datei zu speichern.

  • Fehler: "Kopie enthält Makros": Stelle sicher, dass du die Datei mit SaveAs nach dem Speichern der Kopie erneut speicherst, um die Makros in der Originaldatei beizubehalten.


Alternative Methoden

  • Excel ohne Makros speichern: Du kannst auch manuell die Datei speichern, indem du „Datei“ > „Speichern unter“ wählst und das Format .xlsx auswählst.

  • Excel automatisieren ohne Makros: Nutze Power Query oder andere Excel-Tools, um Daten zu extrahieren und als neue Datei zu speichern, ohne VBA zu verwenden.


Praktische Beispiele

  1. Kopie einer Excel-Datei erstellen: Verwende den oben genannten VBA-Code, um eine Kopie deiner Schichtplan-Datei zu speichern, während die Originaldatei geöffnet bleibt.

  2. PDF ohne Makros speichern: Falls du die Datei als PDF speichern möchtest, kannst du den folgenden Code verwenden:

    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:="C:\Users\Dennis\Excel\test.pdf"

Tipps für Profis

  • Verwende Application.DisplayAlerts = False, um Benachrichtigungen zu unterdrücken, wenn die Datei überschrieben wird. Achte jedoch darauf, es anschließend wieder auf True zu setzen.

  • Automatisches Schließen: Du kannst Application.Quit verwenden, um Excel automatisch nach dem Speichern zu schließen, wenn dies gewünscht ist.

  • Daten ohne Verknüpfungen speichern: Stelle sicher, dass deine Kopie keine externen Verknüpfungen enthält, indem du die Daten vor dem Speichern kopierst und in die neue Datei einfügst.


FAQ: Häufige Fragen

1. Wie speichere ich eine Excel-Datei als Kopie ohne Makros? Du kannst das oben genannte VBA-Skript verwenden, um eine Kopie im .xlsx Format zu speichern, ohne die Makros der Originaldatei zu behalten.

2. Kann ich eine Excel-Datei ohne Verknüpfungen speichern? Ja, überprüfe vor dem Speichern, dass keine externen Verknüpfungen in deiner Arbeitsmappe vorhanden sind, oder kopiere die Daten manuell in eine neue Datei.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige