「名前付きセル 取得 値 for next 全て」
という検索で、このサイト・インストラクターのネタ帳へのアクセスが、ありました。
名前の定義されたセル範囲の値を取得するVBA(Visual Basic for Applications)のコードを探している方による検索です。
名前付きセルの値をFor Each~Nextループで取得するサンプルマクロ
サンプルとして「顧客マスタ」という名前が定義されているときに、そのセル範囲の値を順番にメッセージボックスに表示されるマクロをご紹介しておきます。
Dim rng As Range
For Each rng In Range("顧客マスタ")
MsgBox rng.Value
Next rng
「名前付きセル 取得 値 for next 全て」
という検索キーワードでしたが、For~Nextループよりも、For Each~Nextループのほうが、シンプルなコードになるので、上記のようなコードをおすすめしておきます。
名前付きセルの値をFor~Nextループで取得するサンプルマクロ
ご希望どおりFor~Nextループを使うのならば、以下のようなマクロです。
Dim i As Long
For i = 1 To Range("顧客マスタ").Count
MsgBox Range("顧客マスタ").Item(i).Value
Next i
RangeオブジェクトのItemプロパティを使うと、コレクションオブジェクトとしてのRangeに含まれる、単一オブジェクトのRangeを取得することができます。
Range.Itemプロパティは、引数を2つ使うときはCellsプロパティに引数を指定するときと同じように、第1引数が行・第2引数が列を表す数値を指定しますが、引数を1つしか指定しなければコレクションのインデックスを表すので、上記のようなマクロで名前の定義されている全セルの値を順番に取得することができます。
- Newer:GoogleスプレッドシートでINDIRECT関数を使って別シートの値を取得する
- Older:11/15(日)13:45~ PowerPoint VBA入門講座を開催しました(女性1 男性3)
Home » エクセルマクロ・Excel VBAの使い方 » 定義された名前 » 名前の定義されたセル範囲の値を取得するExcelマクロ