| 
    
     |  | 質問内容とはちょっと違いますけど。 応用が利くかと思います
 5年ぐらい前に別のところで回答したまんまで、すみません。
 
 標準モジュールで使用。
 
 Sub kame()
 Dim VBC As Object
 Range("A1").Value = "コントロール名"
 Range("B1").Value = "コントロール種類"
 Range("C1").Value = "キャプション "
 With ThisWorkbook.VBProject
 For Each VBC In .VBComponents
 If VBC.Type = 3 Then
 G = G + 2
 Cells(G, 1).Value = VBC.Name
 Set AdUF = VBA.UserForms.Add(VBC.Name)
 For Each FCN In AdUF.Controls
 G = G + 1
 Cells(G, 1).Value = FCN.Name
 Cells(G, 2).Value = TypeName(FCN)
 On Error Resume Next
 Cells(G, 3).Value = FCN.Caption
 On Error GoTo 0
 Next
 End If
 Next
 End With
 Set AddUF = Nothing
 End Sub
 
 |  |