Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Workbook per Variable anwählen und schließen

Workbook per Variable anwählen und schließen
25.04.2007 14:26:56
Dirk
Hallo,
folgendes Problem:
Ich öffne mit VBA in Excel eine .txt Datei, in der Messwerte drinstehen und kopiere diese in eine andere Exceldatei.
Den Namen der Datendatei mit Pfad habe ich der Variable datei zugeordnet, da die Datendatei nicht immer denselben Namen hat:
DATEN001.txt
DATEN002.txt
...
Jetzt möchte ich das Excel Workbook, dass den Namen der Datendatei trägt später aktivieren und schließen ... kurz: Application.Workbooks(datei).Activate ... klappt aber nicht :-(
Kann jemand helfen?
Danke!
Dirk

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Workbook per Variable anwählen und schließen
25.04.2007 14:37:29
Norbert
Hallo Dirk,
Windows("DATEN001.xls").Close (Savechanges = False)
Wobei bei "DATEN001.xls" die entsprechende Datei wäre ...
Hoffe das hilft weiter !?
Viele Grüße,
Norbert

AW: Workbook per Variable anwählen und schließen
25.04.2007 14:52:00
Dirk
Hallo Norbert,
vielen Dank, aber das löst mein Problem leider NICHT!
Statt konkret den Dateinamen anzugeben möchte ich diesen in
Windows("DATEN001.xls").Close (Savechanges = False)
als Variable angeben.

Anzeige
AW: Workbook per Variable anwählen und schließen
25.04.2007 15:30:00
Ramses
Hallo
"..möchte ich diesen in Windows("DATEN001.xls").Close (Savechanges = False) als Variable angeben..."
Wo ist das Problem ?
Dim x as String
x = "DATEN001.xls"
Windows(x).Close False
Gruss Rainer
;

Forumthreads zu verwandten Themen

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

Workbook per Variable anwählen und schließen


Schritt-für-Schritt-Anleitung

  1. Variable deklarieren: Du musst zuerst eine Variable für den Dateinamen deklariert. Das kannst du mit dem folgenden Code tun:

    Dim datei As String
    datei = "DATEN001.txt" ' Hier den Namen deiner Datei einsetzen
  2. Workbook öffnen: Verwende die Workbooks.Open-Methode, um das Workbook zu öffnen:

    Workbooks.Open Filename:=datei
  3. Workbook aktivieren und schließen: Um das Workbook zu aktivieren und zu schließen, kannst du den Dateinamen in der Variable verwenden:

    Application.Workbooks(datei).Activate
    Application.Workbooks(datei).Close SaveChanges:=False

Häufige Fehler und Lösungen

  • Problem: „Application.Workbooks(datei).Activate“ funktioniert nicht.

    • Lösung: Stelle sicher, dass die Variable datei den korrekten Namen des geöffneten Workbooks enthält. Wenn du eine .txt-Datei öffnest, verwende den Dateinamen der Excel-Datei, die du schließen möchtest (z.B. DATEN001.xls).
  • Problem: Fehler beim Schließen der Datei.

    • Lösung: Achte darauf, dass das Workbook tatsächlich geöffnet ist, bevor du versuchst, es zu schließen. Überprüfe auch, ob der Dateipfad korrekt ist.

Alternative Methoden

Eine alternative Methode, um das Workbook per Variable zu schließen, besteht darin, die Windows-Objektmethode zu verwenden.

Dim datei As String
datei = "DATEN001.xls"
Windows(datei).Close SaveChanges:=False

Hierbei wird der Name des Workbooks in der Variable datei gespeichert, und du kannst die Datei schließen, ohne den vollständigen Namen hartkodieren zu müssen.


Praktische Beispiele

Hier ist ein Beispiel, wie du eine .txt-Datei öffnest, die Daten in eine Excel-Datei kopierst und dann die Excel-Datei schließt:

Sub DatenImportieren()
    Dim datei As String
    datei = "C:\Pfad\zu\deiner\DATEI.txt"

    ' Öffne die TXT-Datei
    Workbooks.Open Filename:=datei

    ' Hier deine Datenverarbeitungslogik einfügen

    ' Schließe die Excel-Datei
    Application.Workbooks("DATEN001.xls").Close SaveChanges:=False
End Sub

Tipps für Profis

  • Fehlerbehandlung: Implementiere eine Fehlerbehandlung, um sicherzustellen, dass dein Code robust ist. Nutze On Error Resume Next, um Fehler zu ignorieren oder zu protokollieren.

  • Variablen für mehrere Dateien: Wenn du mit mehreren Dateien arbeitest, kannst du ein Array verwenden, um alle Dateinamen zu speichern und in einer Schleife durchzugehen.

  • Benennungskonventionen: Achte darauf, dass du eine klare Benennungskonvention für deine Variablen verwendest, damit der Code leichter verständlich bleibt.


FAQ: Häufige Fragen

1. Kann ich die Datei auch mit einem relativen Pfad öffnen?
Ja, du kannst einen relativen Pfad angeben, solange die Datei sich im gleichen Verzeichnis wie die Excel-Datei befindet.

2. Was passiert, wenn ich versuche, ein nicht geöffnetes Workbook zu schließen?
Wenn du versuchst, ein nicht geöffnetes Workbook zu schließen, erhältst du eine Fehlermeldung. Achte darauf, dass du das Workbook zuerst öffnest, bevor du es schließt.

3. Wie kann ich sicherstellen, dass ich die richtige Datei schließe?
Verwende den Debug.Print-Befehl, um den aktuellen Wert deiner datei-Variablen im Direktfenster zu überprüfen, bevor du die Datei schließt. So kannst du sicherstellen, dass du die richtige Datei auswählst.

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