Makro / Schaltfläche / Verknüpfung
Mahlzeit!
Ich benötige eine Aufstellung von sämtlichen Schaltflächen und den dazugehörigen verknüpften Makros in einer bestimmten Arbeitsmappe.
Mir ist es passiert, dass ich eine Schaltfläche aus Arbeitsmappe A nach Mappe B kopiert habe und dementsprechend auch irrtümlich den Verweis auf das dortige Makro.
--> Hinweis auf Verknüpfung beim Öffnen.
Da meine Arbeitsmappe viele verschiedene Schaltflächen beinhaltet, könnte sich eine Suche schwierig gestalten.
Vielleicht kann mir jemand helfen.
Ciao
Tom
Antwort schreiben
Antwort 1 von Hajo_Zi vom 06.04.2021, 12:16 OptionsLösung
Hallo Tom,
Sub makrozuordnung_auflisten()
' Makro von Beverly, Karin
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
Gruß Hajo
Antwort 2 von Tomschi vom 06.04.2021, 12:57 Options
Hallo Hajo!
Sieht echt toll aus und DANKE für den tollen und raschen Support!
Kurz noch eine Frage:
Warum wird am Ende der Auflistung das letzten Tabellenblatt
in die Listung integriert, obwohl es keine Schaltfläche und damit kein Makro beinhaltet?
Ciao
Tom
Antwort 3 von Hajo_Zi vom 06.04.2021, 13:02 Options
Hallo Tom,
soweit mir bekannt werden nur Steuerelemente aufgelistet. Vielleicht sind sie in der Tabelle ausgeblendet oder sehr klein.
Gruß Hajo
Antwort 4 von Tomschi vom 07.04.2021, 07:53 Options
Guten Morgen Hajo!
Hm, wenn ich Deinen Code in eine neue Arbeitsmappe
einfüge, dann wird z. B. "Tabelle3" in die Zelle A1 am
aktiven Arbeitsblatt eingefügt.
Zerbrich Dir deswegen aber nicht den Kopf.
Hauptsach das Makro funktioniert so wie gewünscht.
Ciao
Tom