Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
940to944
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
940to944
940to944
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Aufruf aller Makros dokumentieren

Aufruf aller Makros dokumentieren
13.01.2008 11:09:49
Harald
Hallo im Excelforum,
ich würde gerne alle Makros einer Excel Datei dokumentieren wie oft sie aufgerufen werden.
Makro1 10 mal
Makro2 1 mal
Makro3 0 mal
Der Sinn ist herauszufinden welche Makros am meisten aufgerufen werden.
Mein Ansatz bis jetzt ist dieser in jedem Makro diesen Cod einfügen
var = GetSetting(appname:="Rechnungswesen", section:="Zeichen", Key:="2")
var = var + 1
SaveSetting appname:="Rechnungswesen", section:="Zeichen", Key:="2", Setting:=var
vielleicht hat jemand noch eine besser Idee.
mfg
Harald K

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Aufruf aller Makros dokumentieren
13.01.2008 11:28:00
Worti
Hallo Harald,
wie wär es mit einem Blatt "Modulstatistik" innerhalb deiner Datei mit Attribut xlSheetVeryhidden und am Anfabng jeder Sub den Zähler für die entsprechende Sub um 1 erhöhen mit dieser Codezeile:

Worksheets("Modulstatistik").Cells(1, 1).Value = Worksheets("Modulstatistik").Cells(1, 1).Value _
+ 1

Gruß
Worti

AW: Aufruf aller Makros dokumentieren
13.01.2008 11:44:00
Harald
Hallo Worti,
Danke für deine Antwort, könnte man so machen ich stelle mir es aber anders vor.
Das Makro sollte dern Prozedure Namen auslesen und dann in die registry schreiben.
mfg
Harald K

Anzeige
AW: Aufruf aller Makros dokumentieren
13.01.2008 11:57:00
Daniel
Hi
mal ne frage, wenn du schon konkrete Vorstellungen hast, wie dein Makor funktionieren soll, warum fragst du dann nicht gleich danach ?
Gruß

hier eine weitere Möglichkeit ...
13.01.2008 11:47:35
Matthias
Hallo Harald
Beispiel:
https://www.herber.de/bbs/user/48985.xls
Info in der Datei !
Das entsprechende (dokumentierende) Blatt kannst Du ja ausblenden.
Userbild

AW: hier eine weitere Möglichkeit ...
13.01.2008 12:06:00
Harald
Hallo Matthias,
das ist das gleiche wie ich es schon habe und das Workbook muß auch noch gespeichert werden.
mfg Harald K

Anzeige
AW: Aufruf aller Makros dokumentieren
13.01.2008 12:14:00
ransi
HAllo HArald
Nur damit ich das nicht missverstehe:
Du suchst keine Möglichkeit um mit VBA herauszufinden welches Makro angestoßen wird?
Die Abfrage machst du in den jeweiligen Makros ?
Du suchst nur eine Möglichkeit die abgefragen Makronamen extern abzuspeichern und hochzuzählen ?
Entweder in die Registry oder in eine Log-Ddatei oder in ein anderes Workbook?
ransi

AW: Aufruf aller Makros dokumentieren
13.01.2008 13:40:00
Harald
Hallo ransi,
es geht mir nur zu zählen wie oft ein Makro aufgerufen wurde, im Prinzip habe ich es schon gelöst was aber meinen Programmcode enorm erweitert deshalb habe ich die Frage hier hereingestellt um zu erfahren ob es einfacher Mittel gibt die ich noch nicht kenne.
Vielleicht zählt ja Excel das schon mit und man muß es nur noch abrufen.
mfg Harald K

Anzeige
AW: Aufruf aller Makros dokumentieren
13.01.2008 16:24:19
Erich
Hallo Harald,
es gibt m. E. keine Möglichkeit, innnerhlab eines Makros den Namen des Makros zu ermitteln.
Allenfalls könnte das gehen, wenn jedes Makro in einem separaten Modul steht. Mehr dazu z. B. in
https://www.herber.de/forum/archiv/40to44/t40185.htm
Das bedeutet, dass jedes zu zählende Makro seinen Namen selbst mitteilen muss.
Es geht dann nur noch darum, das Ganze mit möglichst wenig Aufwand zu erledigen.
Dazu würde ich das Hochzählen selbst (z. B. in der Reg wie du es in deinem Code getan hast)
in ein eigenes Modul (vielleicht sogar in einer eigenen Mappe) schreiben, mit Mappen- und Makronamen als Parameter.
Zusätzlich müsste auch noch der Modulname mitgegeben werden. Das ist dann nötig,
wenn du in zwei Modulen Makros mit demselben Namen stehen hast.
Etwa bei Ereignisprozeduren in mehreren Tabellen kommt das durchaus vor.
In jedes zu zählende Makro schreibst du:
ZaehleMak ThisWorkbook.Name, "MeinMakroname"
So könnte die Prozedur ZaehleMak etwa aussehen:

Sub ZaehleMak(strWB As String, strName As String)
Var = GetSetting(appname:="Rechnungswesen", section:=strWB, Key:=strName)
Var = Var + 1
SaveSetting appname:="Rechnungswesen", section:=strWB, Key:=strName, Setting:=Var
End Sub

So hast du in jedem Makro nur noch eine zusätzliche Zeile.
Damit der Zähler aus mehreren Mappen heraus aufgerufen werden kann,
musst du die Mappen mit der Zählermakro-Mappe verknüpfen, in VBA per Extras - Verweise.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: Aufruf aller Makros dokumentieren
13.01.2008 17:38:05
Harald
Hallo Erich
Vielen Dank für deine ausführliche Hilfe so habe ich mir das vorgestellt. Prima!!!
Dennoch läst mich der Gedanke nicht los das es Excel vielleicht mitzählt und man es irgendwo auch
abrufen kann?
mfg
Harald K

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige