• ベストアンサー

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

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

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答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

  • rangeとrow

    rangeとrowの「列、ひと並び」の意味の違いはなんでしょうか?rangeには「範囲、射程範囲」っていう意味もあります。

  • Orange Range の range の意味

    Orange Range の range の意味がわかりません。なぜ歌手グループの名前にオレンジを入れたのかは Wikipedia で解説されているのを読みましたが、なぜ Range?

  • rangeの意味

    xをワークシートオブジェクトとすると、 With x.range("A1")のrange("A1")とは 何を意味しているんでしょうか?セルA1を 参照していますよということでしょうか?

  • 関数の意味(HLOOKUPとROW関数)

    先週より新しい職場で働いております。 下記のような関数が使われている表があるのですが、どういう意味になるのでしょうか。 =HLOOKUP(A1,$1:$30,ROW()-8,FALSE) この関数は実際の関数ではありません。 確かこんな関数だったなあと思い出しながら書いているので、もしかしたら変かもしれません。 ポイントは、 範囲=セル番地指定ではない(行範囲指定?) 行番号=数値ではなくROW関数で指定 になっているところです。 お手数をおかけしますが、宜しくお願いいたします。

  • 'Range'メソッドは失敗しました

    ExcelのVBAの質問になりますが、教えてください。 下記を動かすと最後の行で「'Range'メソッドは失敗しました: '_Worksheet' オブジェクト」と出ます どうしても最後の行をセレクトしたいのですが、どうしたらよいでしょうか。 Option Explicit Public WB1 As Workbook Public WB1SH1 As Worksheet Public CSVWB1 As Workbook Public CSVWB1SH1 As Worksheet Dim MaxRow As Integer Private Sub CommandButton1_Click() Set WB1 = ActiveWorkbook Set WB1SH1 = WB1.Worksheets(1) Dim a As String a = WB1SH1.Range("a1) Workbooks.Open "C:\Users\User\Desktop\" & a & ".CSV" Set CSVWB1 = ActiveWorkbook Set CSVWB1SH1 = CSVWB1.Worksheets(1) MaxRow = CSVWB1SH1.Cells(Rows.Count, 1).End(xlUp).Row WB1SH1.Activate WB1SH1.Range(Cells(1, 1), Cells(MaxRow, 3)).Select CSVWB1SH1.Activate CSVWB1SH1.Range(Cells(1, 1), Cells(MaxRow, 3)).Select  '←ここでエラーがでる End Sub

  • ガスレンジなどの、意味でのrangeの語源

    英語の、range の意味なんですが、 並ばせる 並ぶ (範囲に)およぶ、またがる 山脈をなす 照準をきめる 分布域、領域 などなどがあり、意味もだいたい似ていて理解できます。 ただ、 料理用ストーブ、(電気、ガス)レンジ の意味があり、なぜこの意味があるのか、わかりません。 OF= row of person とあるので、語源は、人の列みたいなのですが、 どうして料理用ストーブにつながるのか? 教えてください。 よろしくお願い致します。 (日本語の、「電子レンジ」の意味うんぬんの質問ではありませんので、よろしくお願い致します)

  • このマクロの意味を教えてください。

    このマクロの意味を教えてください。 このマクロの意味を教えてくれませんか?変な質問で申し訳ありません。というのも、先日インターネットからひろってそのままま真似して使っていたのですが、不具合が起こってしまいました。 しかし、どこからひろったのかどう検索しても見つからず、自分で不具合の原因がわからないのです。 どなたか、教えていただけないでしょうか。 このひとつひとつのマクロの意味を教えていただけたら大変助かります。 Sub test01() Dim sh1 As Worksheet Dim sh2 As Worksheet Set sh1 = Worksheets("元データ") Set sh2 = Worksheets("RMA") '-- d = sh1.Range("a65536").End(xlUp).Row For i = 2 To d If sh1.Cells(i - 1, "E") <> "" Then sh2.Cells(1, "A") = i - 1 sh2.Range("A2:I51").PrintOut End If Next i End Sub

  • [エクセル] 平均値導出関数 意味を教えて下さい

    =AVERAGE(OFFSET($E$18,ROW(F1)*10,0,10,1)) この関数が、平均値を導出するための関数であることは理解できます。 ですが、()の中の意味がさっぱり分かりません。 ()の中はどのような意味なのですか?

  • INDEX関数を使用した関数の意味を教えてください。

    INDEX(sheet2!C:C,SMALL(INDEX((sheet2!$B$1:$B$100<>$B$18)*10^4+ROW($1:$100),),ROW(A1)))&"" sheet2にある表のB列に検索時に使用する文字列があり、sheet1のB18にその検索したい文字列を入力すると、一致したB列と同じ行のC列のデータを抽出する式です。 表のデータは今後も増加しますが、どの程度増加するは不明です。 INDEX関数やSMALL関数など一つ一つの関数の意味はわかっているつもりですが、なぜ上記のセルが選択されているのかわかりません。 特にSMALLの後の式がわかりません。 エクセル関数にはあまり詳しくないので、この式の意味をできれば詳しく教えていただけないでしょうか? (式の意味は人から聞いたものですが、違っていたらすいません)

  • 休日の関数を動かしたい

    こちらで 質問して 平日の関数 を追加したおかげで、とても助かっています。 そこで、休日の関数を使いたいのですが、そんな関数はあるのでしょうか N7に1が入ると A7が 8/12になる N8に1が入ると A8が 8/12になる にしたいのですが、 どんな関数を下記にに追加すればいいのでしょうか? ちなみに アドインには 分析ツールと分析ツール VBA  両方共チェックがあります。 シートには、下記のコードが入っています。 ご存知のかた教えていただければ助かります。 Private Sub Worksheet_Change(ByVal Target As Excel.Range) Dim h As Range On Error Resume Next For Each h In Application.Intersect(Target, Range("N:N")) If h > 0 Then Select Case Cells(h.Row, "B") Case "毎日" Cells(h.Row, "A") = Cells(h.Row, "A") + 1 Case "平日" Cells(h.Row, "A") = Application.Run("ATPVBAEN.XLA!WorkDay", Cells(h.Row, "A"), 1) Case "毎週" Cells(h.Row, "A") = Cells(h.Row, "A") + 7 Case "隔週" Cells(h.Row, "A") = Cells(h.Row, "A") + 14 Case "毎月" Cells(h.Row, "A") = DateAdd("M", 1, Cells(h.Row, "A")) Case "隔月" Cells(h.Row, "A") = DateAdd("M", 2, Cells(h.Row, "A")) End Select End If Next For Each h In Application.Intersect(Target, Range("B:B")) If StrConv(h, vbNarrow) = "-" Then Cells(h.Row, "A").ClearContents End If Next End Sub

専門家に質問してみよう