• ベストアンサー

VBAのRows.Selectについて

すみません。知っていれば教えてください。 Rows.Selectで、行をしてしたいと考えています。 行番号は変数gyouに代入されています。 そこで、普通であれば、Rows("4:4").select で指定できると思うのですが、今回、Rows("gyou:gyou").select にしたいです。 ただ、””でくくっているので、Gyouを数字ではなく文字列で認識するらしく、型がちがいますというエラーがでてきます。 どうすれば、変数で指定できのでしょうか? すみませんが、教えてください。

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

  • ベストアンサー
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.2

はい、""でくくるからうまく行かないのです。 1行だけでしたら、 Sub test01() Dim gyou As Long gyou = 10 Rows(gyou).Select End Sub 複数行を選択したいなら、 Sub test02() Dim gyou(1) As Long gyou(0) = 10 gyou(1) = 12 Rows(gyou(0) & ":" & gyou(1)).Select End Sub

sav_moster
質問者

お礼

返事が遅くなり、申し訳ございません。 分かりやすい回答、まことにありがとうございます。 初心者なので、具体例があると、大変助かります。 本当にありがとうござました!!!

その他の回答 (1)

  • NORI-KEN
  • ベストアンサー率43% (18/41)
回答No.1

こんにちは。 Excelでよろしいですか? 1行のみの選択でしたら Rows(gyou).select で大丈夫だと思います。

sav_moster
質問者

お礼

返事が遅くなり、申し訳ございません。 ありがとうございました! なんとか解決することができました。 素人の質問に、わざわざ回答いただきまして、 感謝しております。

関連するQ&A

  • Rows("3836:3836").Selec

    お世話になります。 エクセルVBAで Rows("3836:3836").Select の数字の部分を変更するにはどうしたら良いでしょうか? Rows("Mdata:Mdata").Select Rows("& Mdata & ":" & Mdata &").Select では、エラーとなってしまいます。 変数の処理って私には難しいです。 よろしくお願いします。

  • エクセル VBA Rowsプロパティ?

    エクセル VBAにて ある列の空白セルを調べて空白があった場合 行全体を選択して削除したいため、下記のように書き込みました。 Dim idx As Integer For idx = 5 To 2204 If ActiveSheet.Cells(idx, 2) = "" Then Rows("idx:idx").Select Selection.Delete Shift:=xlUp End If Next idx Rows("idx:idx").Selectが間違っていると思うのですが 変数を使用しての行指定がわかりません。 どなたかご教示お願いいたします。

  • VBA、Excelにて複数行をまとめて削除したいのですが

    Dim gyou1 As Range, gyou2 As Range gyou1 = 4 gyou2 = 62 For data = 1 To 1440 Rows("gyou1:gyou2").Select Selection.Delete Shift:=xlUp gyou1 = gyou1 + 1 gyou2 = gyou2 + 1 Next data 複数行をまとめて削除したいのですが、型が一致しないとのエラーで上手く実行できません。 どうすればいいでしょうか?

  • VBAで列範囲、行範囲の指定方法の質問です。

    例えば、3行目から5行目を選択する記述、Rows("3:5").Select の記述で行番号を変数で指定することができますか? 要求側で   r1=3   r2=5 と指定してサブルーティンに渡し、 Rows("3:5").Select と同じ効果を期待したいのです。 なお、指定範囲が1行の場合は、次の記述で実現しています。 Sub 列の選択(Sheet as Ojbect, RowNo)   Sheet.Rows(RowNo).Select End Sub アクティブ シートへの処理なので、別にWorkSheet オブジェクトの指定は不要だと思うのですが、次の記述ではエラーで成功しません。 Sub 列の選択(RowNo)   Rows(RowNo).Select End Sub 結論として次のような Subroutine の作成が希望です。 Sub 複数列の選択(Sheet as Object, Row1, Row2) ・・・ End Sub

  • rowsとcolsの意味

    textareaタグとかに出てくるrowsとcolsについて悩んでいます。 どちらかが行でどちらかが列というのは分かるのですが・・。 和英辞典で列と行について調べてみると両方ともでrowが出てきて混乱してしまいました。 cols="20" rows="10"と指定したら横20縦10文字分確保するという風に理解してしまって良いのでしょうか? 後colsって何かの英単語の略なのでしょうか?

  • エクセルVBAで、範囲指定を変数でしたいとき

    Rows(\"10:20\").select という記述が可能ですが、この10と20を変数ro1とro2で指定したいのですが、Rows( ro1 & ":" & ro2).select ではエラーになってしまいます。 どのようにすれば良いでしょうか?

  • エクセル vbaのなぜこうなるのか?

    こんばんは。 単純な事かもしれませんが、ちょっと疑問に思ったので質問させていただきました(Excel2000使用)。 ・一つ目 2行目を選択する場合 ⇒ rows(2).select 2行目から5行目までを選択する場合 ⇒ rows("2:5").select ☆☆質問☆☆ 一つの行を選択する場合は引数を("")で囲わないのに、複数行では引数を""で囲わないといけないのか? ・2つ目 2行目から5行目までを選択する場合 ⇒ rows("2:5").select 2列目から5列目を選択する場合 ⇒ range(columns(2),columns(5)).select ☆☆質問☆☆ なぜ複数列を選択する場合、columns("2:5").selectでは実行時エラーとなるのか? 素人にも理解できるような回答をお願いいたします。

  • エクセルのマクロについて 文字列操作について

    文字列操作で困っています。 A3セル以下、A列に、04/、03/、99/。。。と文字列が入力されており、それぞれ、最初の2文字を取り出して数字に変換し、それぞれを変数 qwe1 qwe2 qwe3 ... に代入したいのです。 そのための構文が知りたいのです。 また、文字列のまま、たとえば上記の/を、変数 asd に代入するにはどうしたらよいのでしょうか? ちなみに、 Range("B3").Select ActiveCell.FormulaR1C1 = "=VALUE(MID(R[-2]C[1],1,2))" という形の構文で、一旦エクセルのセルに代入して、再度、変数に放り込む形だとうまくいくのですが、数列、数十行同じ作業を繰り返すために、for next 構文を使わないと、不便で使い物になりません。 そこで、R[-2]C[1] の部分に cells(qwe,1)を使ってもエラーが出てうまく作動しませんでした。 なお、エクセル2003、OS=XPです。 再度要約しますと、 1.文字列の一部を取り出して数字に変換し、それを変数に代入したい。 2.文字列の一部の文字を取り出して、それを変数に代入したい。 3.上記1,2を繰り返すので、その繰り返すことが出来る構文が知りたい。 以上です。 どなたか教えてください。

  • エクセル VBA の行選択

    エクセルVBAで行を選択する場合 Rows(1,1).select Range(Cells(2,2),Cells(5, 5)).EntireRow.Select の方法があると知りました。 この数値の部分に変数を入れるとエラーがでてしまいました。 どうすれば変数で行を選択することができるのか教えてください。 2003を使用しております。

  • エクセル VBAで複数行の選択

    エクセル2002使用です。 VBAで変数を使って複数行の選択で、6行目から9行目までを選択したいのです。 sub macro2() Dim rw As Integer rw=8 Rows("rw - 2:rw + 1").Select end sub だとエラーになります。 Rows("6:9").Select のようにしたいのですがどこが悪いのでしょうか? よろしくお願いします。