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: Namen der offenen Arbeitsmappen auslesen

Namen der offenen Arbeitsmappen auslesen
30.03.2007 20:30:00
Hans
Hi,
ich suche nen befehl mit dem ich die offenen arbeitsmappen auslesen assen kann. Geoeffnet werden immer 2 dateien um ien makro auszufuehren. Da sich aber die datei namen immer aendern ist es bloed vorher die dateinamen auf mein makro anzupassen. Ich wueder gerne in meinem makro mit variablen der arbeitsmappen arbeiten und dann die variablen mit dein eingelesenen namen der arbeitsamppen speisen.
Ist sowas machbar? hatte shcon mal ne idee, aber ich wusste nicht wie ich die arbeitsmappen unterschiedlich aktivieren kann, wenn ich den dateinamen nicht weiss... sonst waers ja machbar mit meinem wissen :(..
bin fuer vorschlaege jeglicher art dankbar.....
gruesse und ein schoenes WE
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Namen der offenen Arbeitsmappen auslesen
30.03.2007 21:13:00
IngGi
Hallo Hans!
Dim wb As Workbook
Dim DatName As String
For Each wb In Application.Workbooks
DatName = wb.Name
Next 'wb

Innerhalb dieser Schleife nimmt die Variable DatName nacheinander die Namen aller geöffneten Arbeitsmappen an. Ist dir damit geholfen?
Gruß Ingolf
Anzeige
AW: Namen der offenen Arbeitsmappen auslesen
30.03.2007 21:17:12
Gerd
Guten Abend Hans,
sowas ?

Sub test2()
Dim Wb As Workbook, i As Integer
Dim vntAndereMappennamen() As Variant
If Workbooks.Count = 1 Then MsgBox "Keine andere Mappe offen!": Exit Sub
ReDim vntAndereMappennamen(1 To Workbooks.Count - 1)
For Each Wb In Workbooks
If Wb.Name  ThisWorkbook.Name Then
MsgBox Wb.Name & " ist geöffnet!"
vntAndereMappennamen(i + 1) = Wb.Name
i = i + 1
End If
Next
For i = LBound(vntAndereMappennamen) To UBound(vntAndereMappennamen)
MsgBox vntAndereMappennamen(i)
Next
End Sub
Gruß
Gerd
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Namen der offenen Arbeitsmappen auslesen


Schritt-für-Schritt-Anleitung

Um die Namen der offenen Arbeitsmappen in Excel auszulesen, kannst Du VBA (Visual Basic for Applications) verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Klicke auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.

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

    Sub NamenDerArbeitsmappenAuslesen()
        Dim wb As Workbook
        Dim DatName As String
        For Each wb In Application.Workbooks
            DatName = wb.Name
            MsgBox DatName ' Zeigt den Namen der Arbeitsmappe an
        Next wb
    End Sub
  4. Schließe den VBA-Editor und kehre zu Excel zurück.

  5. Drücke ALT + F8, wähle NamenDerArbeitsmappenAuslesen und klicke auf Ausführen.

Mit diesem Makro kannst Du alle offenen Arbeitsmappen auflisten und ihre Namen auslesen.


Häufige Fehler und Lösungen

Fehler: "Keine andere Mappe offen!"

  • Lösung: Stelle sicher, dass mindestens zwei Arbeitsmappen geöffnet sind, bevor Du das Makro ausführst.

Fehler: "Sub oder Function nicht definiert"

  • Lösung: Überprüfe, ob Du das Makro korrekt eingegeben hast und ob es im richtigen Modul gespeichert ist.

Alternative Methoden

Es gibt auch andere Möglichkeiten, die Namen der offenen Arbeitsmappen in Excel auszulesen:

  • Verwendung von Excel-Formeln: Anstatt VBA zu verwenden, kannst Du auch mit Excel-Formeln arbeiten, um den Namen der aktuellen Arbeitsmappe anzuzeigen, aber das Auslesen aller offenen Arbeitsmappen ist mit Formeln nicht möglich.

  • Erstellen einer Benutzeroberfläche: Du kannst ein Formular in VBA erstellen, um die Namen der Arbeitsmappen anzuzeigen und sie auszuwählen.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie Du mit den Namen der Arbeitsmappen arbeiten kannst:

  1. Alle Namen in eine Liste schreiben:

    Sub ListeDerArbeitsmappen()
        Dim wb As Workbook
        Dim i As Integer
        i = 1
        For Each wb In Application.Workbooks
            Cells(i, 1).Value = wb.Name
            i = i + 1
        Next wb
    End Sub
  2. Überprüfen, ob eine spezifische Arbeitsmappe offen ist:

    Sub CheckWorkbookOpen()
        Dim wbName As String
        wbName = "DeineDatei.xlsx"
        Dim wb As Workbook
        For Each wb In Application.Workbooks
            If wb.Name = wbName Then
                MsgBox wbName & " ist geöffnet."
                Exit Sub
            End If
        Next wb
        MsgBox wbName & " ist nicht geöffnet."
    End Sub

Tipps für Profis

  • Speichere häufig genutzte Makros in Deiner persönlichen Arbeitsmappe (PERSONAL.XLSB), damit Du sie in jeder Excel-Sitzung verwenden kannst.
  • Nutze Debug.Print anstelle von MsgBox, um Namen in das Direktfenster auszugeben, wenn Du viele Arbeitsmappen hast.
  • Experimentiere mit Schleifen und Bedingungen, um Deine VBA-Skripte flexibler zu gestalten.

FAQ: Häufige Fragen

1. Wie kann ich den Namen der aktiven Arbeitsmappe auslesen? Du kannst den Namen der aktiven Arbeitsmappe mit folgendem Code auslesen:

MsgBox ActiveWorkbook.Name

2. Funktioniert dieser Code in allen Excel-Versionen? Ja, der VBA-Code funktioniert in allen modernen Excel-Versionen, die VBA unterstützen, einschließlich Excel 2010, 2013, 2016, 2019 und Office 365.

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