即効テクニック |
アクティブになっているシートにあるオートシェイプ、フリーフォーム、OLEオブジェクト、またはピクチャなどの描画レイヤのオブジェクト名をShapeオブジェクトのNameプロパティで取得します。
Sub Sample()
Dim strObjName() As String
Dim intObj As Integer
Dim i As Integer
'アクティブシートのShapes数をカウント
intObj = ActiveSheet.Shapes.Count
'配列を再宣言
ReDim strObjName(intObj)
'配列strObjNameにオブジェクト名を代入
For i = 1 To intObj
strObjName(i) = ActiveSheet.Shapes(i).Name
Next i
'配列strObjNameに代入されたオブジェクト名を表示
For i = 1 To intObj
MsgBox strObjName(i)
Next i
End Sub