Se não forem botões ActiveX, o seguinte código lista no início da coluna E-F da planilha ativa os nomes dos botões/formas e a correspondente macro associada da também planilha ativa:
Sub ListaMacrosAssociadas()
Dim sh As Shape, arrNomeForma() As String, arrNomeMacro() As String, i As Long
ReDim arrNomeForma(1 To 1): ReDim arrNomeMacro(1 To 1)
For Each sh In ActiveSheet.Shapes
If sh.OnAction <> vbNullString Then
i = i + 1
ReDim Preserve arrNomeForma(1 To i)
ReDim Preserve arrNomeMacro(1 To i)
arrNomeForma(i) = sh.Name
arrNomeMacro(i) = sh.OnAction
End If
Next sh
With ActiveSheet.Range("E1:F1").Resize(i)
.Columns(1).Value = Application.Transpose(arrNomeForma)
.Columns(2).Value = Application.Transpose(arrNomeMacro)
End With
End Sub
Postado : 15/12/2020 4:46 pm