• ベストアンサー

VBAでの[]

Excel VBAのプログラム上で SNDsrcNoC = [N_SrtNO].Column のように、[]で囲まれている箇所があるのですが、どんな意味なのかわからないでおります。 []の前に何もないので、配列の添え字や関数の引数でもなさそうです。 ご存知の方どうか教えてください。 VBA [] とかでグーグル検索してもうまいのがでてきません。

質問者が選んだベストアンサー

  • ベストアンサー
  • end-u
  • ベストアンサー率79% (496/625)
回答No.3

「N_SrtNO」はCtrl+F3「名前の定義」を使ってセル範囲に付けられた名前でしょう。 『Evaluateメソッド』のヘルプを参照してください。 http://msdn.microsoft.com/ja-jp/library/aa191489.aspx >メモ Evaluate メソッドの代わりに角かっこを使っても、同じ結果が得られます ([A1:C5] など)。 参照するオブジェクト---今回の事例では名前「N_SrtNO」のセル範囲---を文字列で指定できます。 [N_SrtNO].Column は Evaluate("N_SrtNO").Column つまり Range("N_SrtNO").Column です。 関連QA: http://okwave.jp/qa/q6681089.html?order=asc

msndance
質問者

お礼

ありがとうございます。プログラムが解読できてきました。

その他の回答 (2)

  • qualheart
  • ベストアンサー率41% (1451/3486)
回答No.2

[ ]はプロジェクト名やプロージャ名を指定するのにも使いますね。 たとえば、MainプロシージャーがSample1とSample2という別々のモジュール内に存在する場合は、 [Sample1].Main [Sample2].Main のようにオブジェクトとしてモジュール名を大括弧で囲って指定します。 ただ、[N_SrtNO].Columnというのは、モジュール名を指しているようには思えませんね。。。 ご参考まで。

msndance
質問者

お礼

何通りか使われ方があるようですね。

  • utun01
  • ベストアンサー率40% (110/270)
回答No.1

[] はブック名を記載します。 Excel.Workbooks("ファイル名") みたいなイメージですね。 ちなみに「Excel VBA 大カッコ」とかで検索すれば ちゃんと出てきますよ。

msndance
質問者

お礼

こちらの使われ方もしていました。ありがとうございます。

関連するQ&A