• 締切済み

Excelのマクロで範囲指定したい

マクロで範囲指定したいのですがうまくできません。この表示はどこがおかしいのでしょうか? Range(("a" & (GyoNO - 1): Range("b"&(GgyoNo-1)).Select

みんなの回答

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

Rangeの括弧内に記述するのは、「文字列で表したもの」を指定する。番地すなわち列記号と行番号をこの順で文字列で記述する。 ただVBAのエディターが数宇で記述した部分を文字列化してくれることはあるので注意。 セル範囲の場合も、:は文字列の中に含めて文字列の一部として、考えること。 実行結果が、うまく行かないやエラーの場合は、MSGBOX(=文字列を表示)を使ってその部分を画面に出し、確認したら仕舞だろう。 Sub test01() GyoNO = 3 GGyono = 5 MsgBox ("a" & (GyoNO - 1) & ":" & "b" & (GGyono - 1)) x = "a" & (GyoNO - 1) & ":" & "b" & (GGyono - 1) Range(x).Select End Sub こういうのを実行してみれば、上記で言っていることの、参考になるだろう。 VBAのイロハのイのことで、昨日今日VBAを始めたのか。 ほかにもセル範囲の指定方は色々あるよ。 Googleででも「vba セル範囲指定」で照会し、初めの10記事ぐらいじっくり読んで勉強すること。

noname#231195
noname#231195
回答No.1

Range("a" & (GyoNO - 1) & ":b"&(GyoNo-1)).Select とすればいいです。

perogou
質問者

お礼

ありがとうございました。とてもうまくできました。

関連するQ&A

  • Excelマクロ 範囲指定について教えて下さい。

    ソフトから書き出したテキスト形式のファイルを、エクセルで読み込んで範囲を指定し、 他のブックのシートに貼り付けるという、いつもの作業をマクロで簡素化しようと、 マクロ初心者の私は、マクロの自動記録と、インターネットで調べたりで作っているのですが、 範囲指定でつまづいています。 読込んだファイルには、A列からH列までデータがあります。 行のほうは、その都度変わります。 A列を下に見ていくと、途中<小計>という文字が何度か出てきます。 左上端がA4として、そこから初めての<小計>がある行の1段上の行までで 範囲指定させることは出来るのでしょうか? 例えば、A20に<小計>があるなら、指定範囲を A1:H19 という具合に するのはどうしたらいいですか? 下のマクロでは、H列の右下端まで全部範囲指定するので、ダメですね。 Dim 左上端 As String, 右下端 As String Windows("aaa.txt").Activate Worksheets("aaa").Select 左上端 = "A4" 右下端 = Range(左上端).SpecialCells(xlLastCell).Address Range(左上端 & ":" & 右下端).Select Selection.Copy Windows("bbb.xls").Activate Sheets("bbb").Select Range("A1").Select ActiveSheet.Paste Application.CutCopyMode = False Excel2003を使っています。 よろしくお願いします。

  • Excelマクロ:変数でセル範囲指定

    マクロの迷い人です。 Excelの表をマクロで印刷しようと思っています。 行の数が毎回違うため、最終セルもその都度指定しなければなりません。 A1 B1 A2 B2 A3 B3 A4 B4 この例で、A5 B5 以降は空セルとします。 印刷範囲を Range("A1:B4")と書かずに、そのときどきのアクティブセルを変数に代入し、変数を使って範囲指定したいのです。 Sub MacroTest () Dim a As Variant Dim b As Variant Range("B1").Activate Do While a <> 0 ActiveCell.Offset(1, 0).Activate '空白でなければ一つ下に移る a = ActiveCell.Value Loop ActiveCell.Offset(-1, 0).Activate '上の行に移る b = ActiveCell.Value Range("A1:"& b).Select End Sub こうしてみましたがダメでした。 デバッグの方法がわからないので教えて下さい。よろしくお願いします。

  • Excel マクロ右下末端までの範囲指定

    Excel 2007を使っております。 VBAで、左上A1から、文字が入っている右下末端(都度行はかわる。L列であるというのは変わりませんが)までの範囲指定をして、印刷範囲に指定するには、どうすればよいのでしょうか。 以下、記録マクロでやっていて、仮に1000行だと、このような感じになっています。 Range("A1:L1000").Select Range("L1").Activate ActiveSheet.PageSetup.PrintArea = "$A$1:$L$1000"

  • エクセルのマクロで範囲指定をセルに番号を入れて、範囲指定したセルの字の

    エクセルのマクロで範囲指定をセルに番号を入れて、範囲指定したセルの字の色を白にして消したいのですが、番号を入れるマクロがわかりません。マクロに記録でA2からB12までのセル内の字の色を白 にする方法は Sub 字を消す() ' ' 字を消す Macro ' ' Range("A2:B11").Select With Selection.Font .ThemeColor = xlThemeColorDark1 .TintAndShade = 0 End With End SubでできるのですがD3に開始番号、E3に終了番号を指定する方法がわかりません。ご教授お願いします

  • Excelのマクロ 指定した範囲のセルの処理方法

    Excel2000のマクロを使って以下のマクロを作っています。 ■指定した範囲のセルの値が80以上だったら色をつける そこで質問なのですが、 range("","").select でセルの範囲を指定して、そこから選択したセルだけを対象に処理を実行するにはどうしたらいいのか方法がわかりません。どうすればいいでしょうか? どなたかご解答よろしくお願いします。

  • マクロでのセルの選択範囲について

    マクロのセル範囲の指定でうまくできなくて困っています。 マクロでB3:B5を選択するように、コードを次のように Range(Cells(3.2), Cells(5, 2)).Select 書くと、B1:C5を選択します。 試しに、 Cells(3, 2).Select と書くと、B3を選択します。 次に、マクロを Cells(5, 2).Select と書くと、B5を選択します。 どうしてでしょうか。 宜しくお願い致します。

  • VBAマクロ_セル範囲を行列番号で指定

    エクセルマクロで、ある範囲を指定してコピーし、別の場所を指定してそこへ貼付たいのです。 個別に指定するなら、例えばこんな感じで   Range("B18:C32").Select   Selection.Copy   Range("B67").Select   ActiveSheet.Paste B18:C32 のように、セル番号で指定すれば出来ます。 このコピー範囲を、行列番号で指定したいのです。 「セル(i,j)~(k,l)までの範囲」というふうに、4つの変数で表現したいのです。 cells(i,j)を使えばできそうと思ったのですが、どうもうまくいきません。 良いやり方があれば教えてください。

  • Excelマクロ:変数を使って範囲を指定してコピーするには?

    マクロ勉強中の初心者です。(OS:WindowsXP Excel2002) データの範囲を指定してコピーしたいと思っています。 cellsを使って、【変数を用いた】 記述の仕方を、教えて下さい。 変数を用いない場合は、以下のようなマクロで正常に動作しました。 【変数を用いない場合】   Sheets("Sheet2").Select Range("F3:K3").Select Selection.Copy Sheets("Sheet1").Select Range("C3").Select ActiveSheet.Paste

  • Excel マクロ

    マクロで一部分だけ範囲選択をかけたいのですが、 A列から指定行までと1行目の最右列までを範囲選択をしたいのですができるのですか? 出来ましたら、コードを教えてください。 コードの記述は下のとおりです。 Range("A1").Select Range(Selection, Selection.End(xlDown)).Select a1 = Range("xfd1").End(xlToLeft).Select Endcolumn = Application.WorksheetFunction.Max(a1)

  • エクセルのVBAで範囲指定に変数を入れたいんですけど・・・。

    エクセルのVBAで Range("A2:B○").Select という範囲を指定するときにA1に3が入っていたら○にB3を、4が入っていたら○にB4を入れるというふうにしたいんですがやり方がわかりません。 参照できるページでもいいのでよろしければ教えていただけないでしょうか?よろしくお願いします。

専門家に質問してみよう