• ベストアンサー

エクセル VBA の行選択

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

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

  • ベストアンサー
  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.4

No3ですが、あれな、何故でしょう? そのまま、コピィしてみましたがエラーは出ませんでした。 Rows(i & ":" & j).Select は見えずらいですが、i と & の間、& と ":" の間には 半角の空白があります。 エラーとは関係ないと思いますが、もし、変数の型を指定するのであれば Dim i As Integer Dim j As Integer です。

gokigenn
質問者

お礼

半角スペースを入力し忘れていました。 実際打ったほうが覚えるかと思ってやってしまったのが 仇となりました。 ありがとうございます。できました。

その他の回答 (4)

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

Sub test01() a = 1 b = 3 'Rows(1, 2).Select Rows(a).Select Rows(a & ":" & b).Select MsgBox "a" b = 2 c = 5 Range(Cells(b, b), Cells(c, c)).EntireRow.Select End Sub を参考に。 Msgboxが画面の状態を保持して、一旦止めて確認できるために入れています。 参考 http://oshiete1.goo.ne.jp/qa3232750.html Rows(1,1).select の書き方に不可が有る。「から」は:。 飛び飛びの行は Range("5:5,8:8").Select

gokigenn
質問者

お礼

ありがとうございます。 できました。

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.3

仮に2行目から5行目を選択する場合 Rows("2:5").Select と記述します。 変数を利用するなら Sub Test1() i = 2 j = 5 Rows(i & ":" & j).Select End Sub といったようにRows()の間は 文字列になるようにします。

gokigenn
質問者

補足

コンパイルエラーが発生してしまいます。 i,jは dim i,j だけでよいのですか?

回答No.2

変数云々より先に >Rows(1,1).select の書き方をもう一度確認してください Sub 選択() Range(Rows(2), Rows(5)).Select MsgBox "次へ" Range(Cells(2, 1), Cells(5, 1)).EntireRow.Select End Sub

gokigenn
質問者

お礼

できました。 ありがとうございます。 行の選択の時点で間違えていたんですね。

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.1

>この数値の部分に変数を入れるとエラーがでてしまいました。 エラーになったコードを提示して相談された方が良いと思います。

gokigenn
質問者

お礼

すいません。次回質問する機会があればそのように致します。 アドバイスありがとうございます。

関連するQ&A