1.7k Aufrufe
Gefragt in Tabellenkalkulation von tomschi Mitglied (879 Punkte)
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

4 Antworten

0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
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
0 Punkte
Beantwortet von tomschi Mitglied (879 Punkte)
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
0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
Hallo Tom,

soweit mir bekannt werden nur Steuerelemente aufgelistet. Vielleicht sind sie in der Tabelle ausgeblendet oder sehr klein.

Gruß Hajo
0 Punkte
Beantwortet von tomschi Mitglied (879 Punkte)
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
...