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: VBA Mappe öffnen

VBA Mappe öffnen
12.06.2009 15:27:33
Sprekelmeyer
Hi,
wenn ich eine Mappe öffne dann brauche ich ja diesen CODE:
Workbooks.Open Filename:= "G:\Mappe1.xls", UpdateLinks:=0
wenn sie bereits offen ist diesen CODE:
Workbooks("Mappe1.xls").Activate
Wie bekommt man es denn hin das das VBA sich den Code aussucht. Also wenn noch nie geöffnet dann Code 1 sonst Code 2?
MfG
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Mappe öffnen
12.06.2009 15:41:40
Wolli
Hallo Sprekelmeyer,

Sub test()
dim wb as workbook, _
geoeffnet as boolean
'feststellen, ob eine der offenen Mappen "Mappe1.xls" heißt
for each wb in application.workbooks
if wb.name = "Mappe1.xls" then geoeffnet = true
next wb
'entsprechend reagieren
if geoeffnet then
workbooks("Mappe1.xls").Activate
else
Workbooks.Open Filename:= "G:\Mappe1.xls", UpdateLinks:=0
end if
End Sub


Gruß, Wolli

Anzeige
AW: VBA Mappe öffnen
12.06.2009 15:44:45
hary
Hi versuch mal.

Sub offen()
Dim wb As Workbook
For Each wb In Workbooks
If wb.Name = Range("A1") & ".xls" Then 'gesuchter Mappen Name in A1
MsgBox "schon geöffnet" 'hier Dein Coe fuer offene Mappe
Exit For
Else
MsgBox "nicht geöffnet" 'hier Dein Coe fuer geschlossene Mappe
End If
Next wb
End Sub


Gruss hary

Anzeige
AW: warum so kompliziert?
12.06.2009 15:46:38
Marc
so und ganz fix...

Sub check_datei()
Dim wkb As Object
On Error Resume Next
Set wkb = Workbooks("G:\Mappe1.xls")
If Err = 0 And Not wkb Is Nothing Then
MsgBox "offen!"
Else
MsgBox "geschlossen!"
End If
End Sub


AW: @ Marc
12.06.2009 16:13:04
hary
Hi Mark
warum so kompliziert? Und wenn' mal Mappe 1 und beim naechsten mal Mappe 2. ?
hat NoNet super geloest.
Gruss hary
Anzeige
Prüfen, ob Mappe geöffnet ist
12.06.2009 15:47:55
NoNet
Hallo S.,
das kannst Du z.B. mit folgendem Code lösen :
VBA-Code:
Sub MappeOeffnen()
    'Prüft, ob eine Mappe bereits geöffnet ist
    'falls nicht : Prüft, ob Mappe als Datei im angegebenen Ordner existiert
    'und öffnet diese Mappe falls vorhanden
    '12.06.2009, NoNet
    Dim strOrdner As String, strdateiname As String
    Dim wbMappe As Workbook
    strOrdner = "C:\Dein\Ordner\" 'Mit "\" am Ende !
    strdateiname = "Auswertung.xls"
    On Error Resume Next 'Fehlerbehandlung
    Set wbMappe = Workbooks(strdateiname)
    If Not wbMappe Is Nothing Then
        wbMappe.Activate
        MsgBox "Mappe ist bereits geöffnet !"
    Else
        'Wenn Mappe noch nicht geöffnet ist
        If Dir(strOrdner & strdateiname) <> "" Then
            'Mappe aus o.g. Ordner öffnen :
            Set wbMappe = Workbooks.Open(strOrdner & strdateiname, UpdateLinks:=False)
        Else
            MsgBox "Folgende Datei existiert nicht : " & vbf & vbLf & _
                strOrdner & strdateiname, vbOKOnly + vbCritical, "Datei nicht gefunden !"
        End If
    End If
    'Speicher für Objektvariable wieder freigeben :
    Set wbMappe = Nothing
End Sub
Gruß, NoNet
AW: Prüfen, ob Mappe geöffnet ist
Sprekelmeyer

Super für die spitzen hilfe.
Danke.
Anzeige
AW: Prüfen, ob Mappe geöffnet ist
12.06.2009 15:59:23
Sprekelmeyer
Super für die spitzen hilfe.
Danke.
;
Anzeige

Infobox / Tutorial

VBA Mappe öffnen: Schritt-für-Schritt-Anleitung


Schritt-für-Schritt-Anleitung

Um eine Excel-Arbeitsmappe mit VBA zu öffnen, kannst du den folgenden Code verwenden. Dieser überprüft, ob die Mappe bereits geöffnet ist, und öffnet sie gegebenenfalls.

Sub test()
    Dim wb As Workbook
    Dim geoeffnet As Boolean
    ' Feststellen, ob eine der offenen Mappen "Mappe1.xls" heißt
    For Each wb In Application.Workbooks
        If wb.Name = "Mappe1.xls" Then geoeffnet = True
    Next wb
    ' Entsprechend reagieren
    If geoeffnet Then
        Workbooks("Mappe1.xls").Activate
    Else
        Workbooks.Open Filename:="G:\Mappe1.xls", UpdateLinks:=0
    End If
End Sub

Dieser VBA-Code prüft, ob die Arbeitsmappe "Mappe1.xls" bereits geöffnet ist. Wenn ja, wird sie aktiviert; andernfalls wird sie geöffnet.


Häufige Fehler und Lösungen

Fehler 1: Arbeitsmappe wird nicht geöffnet

  • Lösung: Überprüfe den Dateipfad und den Dateinamen. Stelle sicher, dass die Datei existiert.

Fehler 2: Mappe wird nicht aktiviert

  • Lösung: Stelle sicher, dass die Mappe tatsächlich geöffnet ist. Verwende den Code, um die Mappe zu finden.

Alternative Methoden

Es gibt verschiedene Möglichkeiten, eine Arbeitsmappe mit VBA zu öffnen. Hier ist eine alternative Methode:

Sub check_datei()
    Dim wkb As Object
    On Error Resume Next
    Set wkb = Workbooks("G:\Mappe1.xls")
    If Err = 0 And Not wkb Is Nothing Then
        MsgBox "offen!"
    Else
        MsgBox "geschlossen!"
    End If
End Sub

Dieser Code überprüft, ob die Mappe "G:\Mappe1.xls" geöffnet ist und zeigt eine entsprechende Nachricht an.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie du VBA verwenden kannst, um Arbeitsmappen zu öffnen:

  1. Mappe aus einem bestimmten Ordner öffnen:
Sub MappeOeffnen()
    Dim strOrdner As String, strdateiname As String
    Dim wbMappe As Workbook
    strOrdner = "C:\Dein\Ordner\"
    strdateiname = "Auswertung.xls"

    On Error Resume Next
    Set wbMappe = Workbooks(strdateiname)
    If Not wbMappe Is Nothing Then
        wbMappe.Activate
        MsgBox "Mappe ist bereits geöffnet!"
    Else
        If Dir(strOrdner & strdateiname) <> "" Then
            Set wbMappe = Workbooks.Open(strOrdner & strdateiname, UpdateLinks:=False)
        Else
            MsgBox "Folgende Datei existiert nicht: " & strOrdner & strdateiname
        End If
    End If
End Sub
  1. Mappe öffnen und aktivieren:

Wenn du eine Mappe öffnen und sie direkt aktivieren möchtest, kannst du den Code wie folgt anpassen.

Sub WorkbookOeffnenAktivieren()
    Dim wb As Workbook
    Set wb = Workbooks.Open("G:\Mappe1.xls")
    wb.Activate
End Sub

Tipps für Profis

  • Verwende On Error Resume Next, um Laufzeitfehler zu vermeiden.
  • Nutze MsgBox, um nützliche Informationen während der Ausführung zu geben.
  • Achte auf die korrekte Verwendung des Dateipfades, insbesondere bei Netzlaufwerken.
  • Teste deinen Code regelmäßig, um sicherzustellen, dass er wie gewünscht funktioniert.

FAQ: Häufige Fragen

1. Wie kann ich eine Excel-Arbeitsmappe mit VBA öffnen?
Du kannst die Workbooks.Open Methode verwenden, um eine Mappe zu öffnen. Überprüfe vorher, ob sie bereits geöffnet ist.

2. Was mache ich, wenn der Dateipfad falsch ist?
Stelle sicher, dass der Pfad korrekt ist und dass die Datei existiert. Du kannst auch Dir verwenden, um zu prüfen, ob die Datei vorhanden ist.

3. Wie aktiviere ich eine bereits geöffnete Arbeitsmappe?
Verwende Workbooks("Mappe.xls").Activate, um die Mappe zu aktivieren, wenn sie bereits geöffnet ist.

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