• ベストアンサー

関数ST = SH1.Range("aaa")意味

これはどういう意味を表す関数ですか?? ST = SH1.Range("aaa").Row + 2

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

Range()の()中に入る文字列などは’A1:B1のようなセル範囲が入る。 この質問例のように文字列が入るのは、セル範囲に名前を付けた場合の名称に違いない。 ーー この書き方はVBA(俗にいうマクロ)に違いないので 標準モジュールに、テストとして、3つもモジュールを作り実行する。 aaa は B2:C6 bbb は E2:H6 ccc は E6:G12 と命名しておくと ーーー Sub test01() Set Sh1 = Worksheets("Sheet1") ST = Sh1.Range("aaa").Row + 2 MsgBox ST End Sub Sub test02() Set Sh1 = Worksheets("Sheet1") ST = Sh1.Range("bbb").Row + 2 MsgBox ST End Sub Sub test03() Set Sh1 = Worksheets("Sheet1") ST = Sh1.Range("ccc").Row + 2 MsgBox ST End Sub をそれぞれ実行すると aaaでは4 bbbでは4 cccでは8 が返る。 範囲の左上(最上)の行番号に+2したものを返す。 普通は Sub test04() Set Sh1 = Worksheets("Sheet1") ST = Sh1.Range("ccc").Rows.Count MsgBox ST End Sub 実行して7 のようなセル範囲の行数を知るコードなどを使う。

tanpopopoketto5
質問者

お礼

丁寧に教えて下さってありがとうございます!

その他の回答 (1)

回答No.1

前後が解らないので推測ですが。 エクセルのVBAだとしたら、 「ST」という変数に、「SH1」に代入されたシートの 「aaa」と名前を付けられたセルの行番号+2 を代入しなさい。 という命令だと思いますよ。 関数とは少し別ですね。

tanpopopoketto5
質問者

お礼

教えてくださりありがとうございます!! 助かりました!

関連するQ&A