- ベストアンサー
関数ST = SH1.Range("aaa")意味
これはどういう意味を表す関数ですか?? ST = SH1.Range("aaa").Row + 2
- みんなの回答 (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 のようなセル範囲の行数を知るコードなどを使う。
その他の回答 (1)
- tsubu-yuki
- ベストアンサー率46% (179/386)
前後が解らないので推測ですが。 エクセルのVBAだとしたら、 「ST」という変数に、「SH1」に代入されたシートの 「aaa」と名前を付けられたセルの行番号+2 を代入しなさい。 という命令だと思いますよ。 関数とは少し別ですね。
お礼
教えてくださりありがとうございます!! 助かりました!
お礼
丁寧に教えて下さってありがとうございます!