Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1820to1824
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Anzahl geöffneter Mappen in Excel

Anzahl geöffneter Mappen in Excel
17.03.2021 15:00:49
Günther
Hallo zusammen,
gibt es in Excel einen Bereich, der die Anzahl aller geöffneten Excel-Mappen enthält (ohne Namen, nur die Anzahl).
Und wenn ja, kann man diesen Bereich auslesen bzw. in einem Excel-Tabellenblatt verwenden?
Wäre super wenn mir jemand einen Tipp geben könnte.
Danke schon mal und Servus
Günther

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

Betreff
Datum
Anwender
Anzeige
in VBA: Workbooks.Count
17.03.2021 15:04:25
Rudi

AW: in VBA: Workbooks.Count
17.03.2021 15:31:08
Günther
Hi Rudi,
danke für die rasche Antwort.
Den Befehl "workbooks.count" kenne ich schon.
Aber dann müsste ich immer wieder dieses Makro ausführen, um den aktuellsten Stand zu sehen.
Das wollte ich eigentlich verhindern.
Vielleicht habe ich mich auch falsch ausgedrückt.
Ich habe eine Hauptanwendung in dem ich ein Feld mit dieser Information versorgen will. Und zwar möglichst ohne dafür ein Makro aufzurufen (das müsste ja sonst permanent laufen um immer aktuell zu sein).
Aus dieser Hauptanwendung heraus werden dann weitere Excel-Anwendungen in der gleichen Instanz aufgerufen.
Jeder Start einer neuen Excel-Anwendung würde dann diese Anzahl um +1 erhöhen, jede Beendigung einer Excel-Anwendung diesen Wert wieder um -1 verringern.
In meiner Hauptanwendung hätte ich so immer einen Überblick über die momentan geöffneten Excel-Anwendungen.
Ich hoffe, mich jetzt etwas verständlicher ausgedrückt zu haben.
Servus
Günther

Anzeige
AW: in VBA: Workbooks.Count
17.03.2021 16:08:59
Rudi
Hallo,
das kannst du nur mit einer eigenen Klasse der Application erreichen.
In deiner Hauptanwendung:
In DieseArbeitsmappe:
Private Sub Workbook_Open()
Set objApp = New clsApplication
End Sub

In einem Modul:
Public objApp As clsApplication

Füfe ein Klassenmodul 'clsApplication' ein.
Code:
Dim WithEvents myApp As Application
Private Sub Class_Initialize()
Set myApp = Application
End Sub
Private Sub myApp_WorkbookOpen(ByVal Wb As Workbook)
ThisWorkbook.Sheets(1).Cells(1, 1) = Workbooks.Count    'Blatt/ Zelle anpassen
End Sub
Private Sub myApp_WorkbookBeforeClose(ByVal Wb As Workbook, Cancel As Boolean)
ThisWorkbook.Sheets(1).Cells(1, 1) = Workbooks.Count - 1 'Blatt/ Zelle anpassen
End Sub

Gruß
Rudi

Anzeige
AW: in VBA: Workbooks.Count
17.03.2021 16:17:05
Yal
Hallo Günther,
Makro müssen nicht "permanent" laufen, es gibt auch UDF User Defined Function. Es wird in der Tabelle wie eine normale Funktion eingesetzt und aktualisiert sich bei jeden F9 (ganze Mappe) oder Shift+F9 (nur akt. Blatt).
UDF müssen in einem Modul abgelegt (Also nicht in Formular- oder Worksheet-Codepane).
Public Function AnzahlWB() as Integer
AnzahlWB = Workbooks.Count
End Function
Ansonst musst Du eine WithEvent Application-Object implementieren, dass Dir das Öffnen oder schliessen eine WB meldet.
VG
Yal

Anzeige
war mein erster Ansatz
17.03.2021 16:24:09
Rudi
Hallo,
aktualisiert sich aber nicht zuverlässig. Auch nicht mit Application.Volatile.
Gruß
Rudi

AW: in VBA: Workbooks.Count
17.03.2021 16:47:32
Günther
Hallo Rudi,
hallo Yal,
besten Dank Euch beiden für die Info.
Werde es bei Gelegenheit ausprobieren und gebe wieder Bescheid.
Servus und einen schönen Abend,
Günther

AW: in VBA: Workbooks.Count
17.03.2021 20:29:31
Günther
Hallo nochmal,
also es funktioniert nach anfänglichen Schwierigkeiten - s u p e r !!!
Besten Dank nochmal und schönen Abend, Servus
Günther

22 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige