Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1096to1100
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

Wird Makro aufgerufen (Wo ? )

Wird Makro aufgerufen (Wo ? )
chris
Hallo und guten morgen VBA Experten und Forumsbesucher,
ich habe heute eine Ähnliche frage wie gestern bei der es keine Lösung gab.
Ist es irgendwie möglich ein Makro Aufruf zu suchen in einer Exceldatei.
Folgendes Problem. Ich habe eine Datei mit sehr vielen Makros die Aufgezeichnet wurden.
Makro 1 bis Makro x
Nehmen wir an "Sub Makro18()"
Gibt es eine Möglichkeit in der gesamten Exceldatei einen Button oder ähnliches zu suchen das dieses Makro aufruft? Ich stelle mir das so vor. Ein Makro durchsucht alle Tabellen und in allen Tabellen alle Buttons nach der Zeile onaction und schaut nach ob bei onaction das Makro mit dem Namen
"Sub Makro18()"
aufgerufen wird.
Ist so etwas möglich ? ich benötige das um überflüssige Makros zu entfernen aus dieser Datei.
Da ich diese nicht erstellt habe wäre oder ist es unmöglich herauszufinden welches dieser Makros nie aufgerufen wird in meiner Exceldatei.
Wäre sehr Dankbar wenn mir jemand helfen könnte.
Danke im voraus Gruß Chris

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

Betreff
Benutzer
Anzeige
AW: Wird Makro aufgerufen (Wo ? )
27.08.2009 07:52:19
Hajo_Zi
Hallo Chris,
starte das Makro in einer leeren Tabelle.
Option Explicit
Sub makrozuordnung_auflisten()
'* 25.10.08                                       *
'* erstellt von Karin http://beverly.excelhost.de
'* beverly@excelhost.de                           *
Dim wsTabelle As Worksheet
Dim shShape As Shape
Dim inZeile As Integer
With ThisWorkbook.ActiveSheet
.Range("A:C").ClearContents
inZeile = inZeile + 1
For Each wsTabelle In ActiveWorkbook.Worksheets
.Cells(inZeile, 1) = wsTabelle.Name
For Each shShape In wsTabelle.Shapes
.Cells(inZeile, 2) = shShape.Name
.Cells(inZeile, 3) = shShape.OnAction
inZeile = inZeile + 1
Next shShape
Next wsTabelle
.Name = Mid(ActiveWorkbook.Name, 1, Len(ActiveWorkbook.Name) - 4)
.Columns("A:C").EntireColumn.AutoFit
End With
End Sub

Anzeige
AW: Wird Makro aufgerufen (Wo ? )
27.08.2009 08:31:48
chris
Das Hilft denke ich schon mal sehr.
Vielen Dank Hajo !
Gruß
AW: noch einnal offen
27.08.2009 09:23:30
chris
Hallo Hajo,
das Makro funktioniert gut.
Nur noch eine frage.Kann man es evtl. so abändern das auch andere Makros angezeigt werden ?
Mit anderen Makros meine ich wenn auf den einzelnen Sheets Commanbuttons sind die ein makro starten ohne eben OnAction.
also Commandbuttons die per click ein Makro starten.
also z.b wenn die Makros so heißen ...
CommandButton2_Click()
CommandButton12_Click()
CommandButton13_Click()
usw..
Weil in der Kompletten Datei die Makros so gestartet werden habe ich gerade festgestellt:(
Würde mich freuen wenn es irgendwie klappt.
Danke im vorraus !!!
gruß Chris
Anzeige
AW: noch einnal offen
30.08.2009 09:40:16
Hanno
Hi,
da sich der Code zwangsläufig im jeweiligen Tabellenmodul befinden muss, sollte das
nun gar kein Problem sein.
mfg Hanno
AW: Bitte dann doch um ein beispiel Hanno
30.08.2009 17:06:04
chris
Würde mich freuen wenn du mir einen Ansatz als Beispiel gibst Hanno.
Ich weiß leider nicht wie ich das machen soll :(
Danke
AW: Analyse Excel VBA-Projekt-Module
31.08.2009 15:45:07
fcs
Hallo Chris,
VBA-Prozeduren daraufhin zu untersuchen, welche Prozeduren sie aufrufen ist nicht trivial, da der Code in den Modulen Zeilenweise analysiert werden muss.
Hier mal ein Ansatz, der allerdings nicht korrekte Daten ausgibt, wenn die Namen der Prozeduren mit identischen Zeichen beginnen (also Makro1, Makro10, Makro11). Dann liefert er ggf. falsche Infos bezüglich Makro1, da mit der Funktion InStr gearbeitet wird.
Bitte die Hinweise am Beginn des Codes beachten. Wegen der Länge hab ich den Code als Textdatei hochgeladen.
https://www.herber.de/bbs/user/64134.txt
Gruß
Franz
Anzeige
AW: Analyse Excel VBA-Projekt-Module
31.08.2009 18:19:41
chris
Boa vielen Dank Franz.
Habs gerade mal gestartet aber leider nicht viel zeit.
bei mir kam dieser Fehler.
Benutzerdefinierter Typ nicht erkannt.
In dieser zeile.
Dim objComponent As VBComponent
Aber ich teste morgen noch einmal und gebe dann Feedback.
VieleN vielen Dank erst einmal !!!!!
AW: Analyse Excel VBA-Projekt-Module
31.08.2009 23:33:04
fcs
Hallo Chris,
deshalb mein Hinweis die Erläuterungen im Code zu lesen.
Du muss für die Datei, in der du die Prozedur speicherst im VBA-Editor unter Extras den Verweis auf:
Microsoft Visual Basic for Applications Extensibility x.y
aktivieren. Dann sollte dier Fehler nicht mehr auftauchen.
Gruß
Franz
Anzeige
AW: Analyse Excel VBA-Projekt-Module
01.09.2009 07:33:11
chris
Danke noch einmal Franz.
habe ich nicht gelesen :)
schönen Tag noch !

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige