Square Beat Engine

Blog for variety of things…

MS-Office

[Excel][VBA] 名前付きセル範囲の参照

投稿日:2015-10-29 更新日:

VBAで名前付きセル範囲を参照する方法は複数ある。

よく混乱するので、ちょっと整理しておく。

コード例

それぞれの方法の特徴

Range(strListName)

最も簡単な記述方法だが、他のワークブックと連携させる場合、誤動作を招く恐れがある。
したがって、お勧めしない。

ThisWorkbook.Worksheets(“Sheet1”).Range(strListName)

ワークシートまできちんと指定しているので、正しく動く。
ただ、名前付きセル範囲はワークブックのどこからでも呼び出せるのがメリットなのに、ワークシートを指定する必要があるためスマートではない。

ThisWorkbook.Names(strListName).RefersToRange

今回オススメする方法はこちら。
Namesコレクションはワークブックの直下だから、セル範囲の名前だけで指定可能だ。
.RefersToRangeプロパティは、名前付きセル範囲のRangeオブジェクトだ。
ほかにもいろいろあるので、詳しくはヘルプを参照してほしい。

まとめ

Namesを使おう、というのが結論。
ほかの方法でも動作はするので、違いを理解しておけばなおよし。

以上!

-MS-Office

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

[Excel][VBA] ワークブック・ワークシートを明確に指定

前々回・前回に引き続き、セルに文字列を記入するときのコードについて考えてみます。 今回は、ワークブック・ワークシートを明確に指定する必要性を検討します。 なぜ指定するのか セルの操作をする際、ワークシ …

[VBA] 数値からRGBを求める関数

VBAでは、RGB関数を実行して数値を求めることは可能だが、数値からRGBの各値を得る関数は存在しない。 プロパティから色を取得すると数値で表現されるため、数値からRGB値を求める関数を作成してみた。 …

[PowerPoint][VBA] パワーポイントのテキストボックスへ値をコピーする方法

パワーポイントのテキストボックスへ値をコピーする方法。 単に値を記入するだけではなく、数値がプラス・マイナスの場合に応じて色をつける処理を挿入してある。 コード [crayon-5bf532170a2 …

[PowerPoint][VBA] スライドの追加

パワーポイントのスライドを作成する方法。 メソッド 単にスライドを挿入する場合は、PPT.Slides.Addでよい。 今回はテンプレートファイルからスライドをコピーする形を取ったため、いくつか工夫が …

[Excel][VBA] ブックの手動計算とValue(xlRangeValueXMLSpreadsheet)の危険な関係

VBAを使ってExcelで複雑なツールを作ろうとすると、いろいろと細かい部分でつまずくものだ。 今回は、ブックの計算を手動にしていても、特定の条件下で自動に戻ってしまうという現象に遭遇した。 Valu …