こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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

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

投稿日時 - 2017-02-21 18:15:21

QNo.9296534

困ってます

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

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
のようなセル範囲の行数を知るコードなどを使う。

投稿日時 - 2017-02-21 21:27:09

お礼

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

投稿日時 - 2017-02-22 10:42:02

ANo.2

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

前後が解らないので推測ですが。

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

投稿日時 - 2017-02-21 18:32:11

お礼

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

投稿日時 - 2017-02-22 10:42:32