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: Csv Datei schließen

Csv Datei schließen
02.09.2021 14:43:10
oraculix
Hallo
Ich versuche nach dem Einlesen von Daten aus einer CSV Datei die Die CSV wieder zu schließen.
Klappt aber nicht.
habe schon mehrere Versuche mit verschieden Varianten Versucht.
Varianten (alle gescheitert) :
Windows("!alle filme1.csv").Activate
ActiveWindow.Close
Frage:
Wie schließt man eine CSV Datei ohne speichern mit VBA?
Danke
Gruß
Oraculix
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
ActiveWorkbook.Close savechanges:=False
02.09.2021 15:00:33
JoWE
AW: ActiveWorkbook.Close savechanges:=False
02.09.2021 15:09:31
oraculix
Danke für die rasche Antwort
Aber mit Deiner Variante schließt er auch die Arbeitsmappe die soll ja geöffnet bleiben.
Nur die CSV Datei soll geschlossen werden.
Gruß
Oraculix
AW: ActiveWorkbook.Close savechanges:=False
02.09.2021 15:16:42
JoWE
Oh, hatte Dich für (nach soviel erhaltener Hilfe-Codes inzwischen) schlauer gehalten.
Natürlich muss zunächst das Workbook der CSV-Datei aktiviert werden (in meiner Testumgebung war das das "Windows(2)"; also Windows(2).activate !!
danach erst der Befehl " ActiveWorkbook.Close savechanges:=False"
Anzeige
AW: ActiveWorkbook.Close savechanges:=False
02.09.2021 15:25:53
oraculix
ja das habe ich schon versucht nütz nichts.
Wie lautet der Code für CSV ansprechen ist ja kein Workbook oder?
Im Macrorecorder Aufgezeichnet sagt er ja Windows!
Gruß
Oraculix
AW: ActiveWorkbook.Close savechanges:=False
02.09.2021 15:47:49
Daniel
Hi
Wenn du die CSV in Excel geöffnet hast, ist es für Excel eine Excel-Arbeitsmappe.
Dh du öffnest nicht die CSV, sondern es wird eine neue Mappe/Workbook angelegt und der Inhalt der CSV in diese übernommen.
Ja der Recorder zeichnet Windows(...).Activate auf, da aber jedes Fenster einer Mappe/Workbook zugeordnet ist, wird damit auch gleichzeitig auch diese aktiviert.
Die Befehle Workbook(...).Activate und Windows(...).Activate sind äquivalent.
(Unterschiede gibts erst, wenn du ein zweites Fenster zur einer Mappe erstellt)
Wer noch am Recordertropf hängt, nimmt Windows().Activate, wer etwas fortgeschrittener ist, das Workbook().Activate.
Und wer noch etwas weiter fortgeschritten ist, aktiviert gar nicht mehr sondern hängt die befehle direkt an die Objekte an.
Hier macht man das sinnvollerweise mit dem Workbook und nicht mit dem Fenster:
Workbooks("Dateiname.CSV").Close false
Alternativ "Close false" kann man Excel auch vorgaukeln, dass alle Änderungen gespeichert sind, dann kann man sie schließen ohne dass es eine Rückfrage gibt:
Workbook("Dateiname.CSV").saved = true
Workbook("Dateiname.csv").Close

Gruß Daniel
Anzeige
AW: Danke für die geniale Beschreibung Daniel
02.09.2021 15:56:58
oraculix
Danke für die geniale Beschreibung Daniel.
Gruß
Oraculix
AW: Erledigt Danke
02.09.2021 15:39:48
oraculix
Hi habe es so gelöst
Call objWorkbook.Close(SaveChanges:=False)
Gruß
Oraculix
;

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

CSV-Dateien in Excel mit VBA schließen


Schritt-für-Schritt-Anleitung

Um eine CSV-Datei in Excel mit VBA zu schließen, ohne Änderungen zu speichern, kannst du folgende Schritte befolgen:

  1. CSV-Datei öffnen: Stelle sicher, dass die CSV-Datei bereits in Excel geöffnet ist.

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

  3. Modul erstellen: Klicke im Projekt-Explorer mit der rechten Maustaste auf dein Projekt und wähle Einfügen > Modul.

  4. Code eingeben: Füge den folgenden Code in das Modul ein:

    Sub CloseCSVWithoutSaving()
       Dim csvWorkbook As Workbook
    
       ' CSV-Datei aktivieren
       Set csvWorkbook = Workbooks("Dateiname.csv") ' Ersetze "Dateiname.csv" mit dem tatsächlichen Namen der Datei
    
       ' CSV-Datei schließen ohne zu speichern
       csvWorkbook.Close SaveChanges:=False
    End Sub
  5. Makro ausführen: Schließe den VBA-Editor und führe das Makro über ALT + F8 aus.


Häufige Fehler und Lösungen

  • Fehler: "Die Datei konnte nicht gefunden werden."

    • Überprüfe den Dateinamen und stelle sicher, dass die CSV-Datei tatsächlich geöffnet ist.
  • Fehler: "Das Arbeitsblatt kann nicht geschlossen werden."

    • Stelle sicher, dass du nicht versuchst, das gesamte Workbook zu schließen, sondern nur die CSV-Datei.
  • Lösung: Verwende den richtigen Befehl

    • Anstatt ActiveWindow.Close solltest du Workbooks("Dateiname.csv").Close SaveChanges:=False verwenden, um gezielt die CSV-Datei zu schließen.

Alternative Methoden

Eine weitere Methode, um eine CSV-Datei zu schließen, besteht darin, die Datei als "gespeichert" zu markieren, bevor du sie schließt:

Sub CloseCSVWithoutPrompt()
    Dim csvWorkbook As Workbook

    Set csvWorkbook = Workbooks("Dateiname.csv") ' Ersetze "Dateiname.csv" mit dem tatsächlichen Namen der Datei
    csvWorkbook.Saved = True ' Excel glauben lassen, dass die Datei gespeichert ist
    csvWorkbook.Close
End Sub

Diese Methode verhindert, dass Excel eine Rückfrage stellt, ob die Änderungen gespeichert werden sollen.


Praktische Beispiele

Hier sind einige praktische Beispiele zur Verwendung der oben genannten Methoden:

  1. Einfaches Schließen einer CSV-Datei:

    Sub SimpleCloseExample()
       ActiveWorkbook.Close SaveChanges:=False
    End Sub
  2. Schließen mit aktiviertem Dialog:

    Sub CloseWithDialog()
       Dim csvWorkbook As Workbook
       Set csvWorkbook = Workbooks("Dateiname.csv")
       csvWorkbook.Close SaveChanges:=False
    End Sub

Diese Beispiele zeigen, wie du mit VBA deine CSV-Dateien effizient schließen kannst, ohne dass Excel nach dem Speichern fragt.


Tipps für Profis

  • Verwende Workbook anstelle von ActiveWindow: Dies macht deinen Code robuster, da er nicht von der aktiven Fensteranordnung abhängt.
  • Fehlerbehandlung einbauen: Nutze On Error Resume Next, um den Code gegen mögliche Fehler abzusichern.
  • Kommentare im Code: Halte deinen Code gut dokumentiert, damit du und andere ihn später leichter verstehen können.

FAQ: Häufige Fragen

1. Was ist eine CSV-Datei?
Eine CSV-Datei (Comma-Separated Values) ist eine einfache Textdatei, die Daten in einem tabellarischen Format speichert, wobei die Werte durch Kommas getrennt sind.

2. Wie kann ich eine CSV-Datei in Excel öffnen?
Du kannst eine CSV-Datei in Excel öffnen, indem du im Menü "Datei" auf "Öffnen" klickst und die gewünschte CSV-Datei auswählst. Alternativ kannst du auch den Excel VBA Datei öffnen Dialog verwenden, um die Datei programmgesteuert zu öffnen.

3. Was passiert, wenn ich versuche, die CSV-Datei ohne Speichern zu schließen?
Wenn du die CSV-Datei ohne Speichern schließt, gehen alle nicht gespeicherten Änderungen verloren, und Excel fragt dich in der Regel, ob du die Änderungen speichern möchtest, es sei denn, du hast SaveChanges:=False verwendet.

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