名前の取得
備忘録。
Excelでセルに定義された名前を取得したいときは、NamesコレクションのItemメソッドを使う。
例えば、アクティブなWorkbook内の名前一覧を取得したいときは↓のようにする。
Dim lngCnt As Long lngCnt = ActiveWorkbook.Names.Count Dim strTemp() As String Redim strTemp(lngCnt - 1) For i = 0 To lngCnt-1 strTemp(i) = ActiveWorkbook.Names.Item(i + 1).Name Next
ここで"ActiveWorkbook"を"ActiveWorksheet"に変更すれば、Worksheet内の名前一覧が取得できる。
また、グラフ等のオブジェクト名を取得するときはShapesコレクションのItemメソッドを使う↓。
Dim lngCnt As Long lngCnt = ActiveSheet.Shapes.Count Dim strTemp() As String Redim strTemp(lngCnt - 1) For i = 0 To UBound(strTemp()) strTemp(i) = ActiveSheet.Shapes.Item(i + 1).Name Next
但し、作成者が明示的に指定した名前以外のものも取得されてしまうので、取得した名前を利用する際には注意が必要。