Olá, Marcelo
Dá pra fazer loop pelos OLEObjects ou pelos Shapes pra isso. Exemplo:
Sub ListarControles()
Dim oleCtl As OLEObject
For Each oleCtl In Planilha1.OLEObjects
Select Case TypeName(oleCtl.Object)
Case "CommandButton"
With Planilha1.[B1].End(xlDown).Offset(1, 0)
.Value = oleCtl.Name
.Offset(0, 1).Value = oleCtl.Object.Caption
End With
Case "CheckBox"
With Planilha1.[D1].End(xlDown).Offset(1, 0)
.Value = oleCtl.Name
.Offset(0, 1).Value = oleCtl.Object.Caption
End With
End Select
Next oleCtl
End Sub
Postado : 27/07/2018 11:31 am