• 締切済み

エクセルのVBAで悩んでいます。

いつもありがとうございます。 エクセルのVBAで悩んでいます。 セルの範囲指定をVBAで行いたいのです。 ただし、引数に数値変数を使用する為、Cellsプロパティを使います。 すると、離れている範囲の範囲指定が出来ないのです。 例えば、Rangeプロパティだと、 Range("A5:E5,A9:E32").Select こうなるところを、 A9:E32 を変数に置き換えたくて、 Range("A5:E5", Cells(g, 1), Cells(h, 5)).Select と、するとエラーが出ます。 VBAの前文は次の通りです。 Private Sub CommandButton1_Click() a = Me.TextBox1.Value b = Me.TextBox2.Value Set c = Range("a:a").Find(what:=a, LookIn:=xlValues, lookat:=xlWhole) Set d = Range("a:a").Find(what:=b, LookIn:=xlValues, lookat:=xlWhole) 'MsgBox c + d e = c.Address 'MsgBox e f = d.Address 'MsgBox f g = Range(e).Row MsgBox g h = Range(f).Row MsgBox h Range(Cells(g, 1), Cells(h, 5)).Select End sub よろしくお願い致します。

みんなの回答

  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.2

これでも良いように思います。 Sub Test() Dim Row1 As Long, Row2 As Long  Row1 = 9: Row2 = 32  Range("A5:E5,A" & Row1 & ":E" & Row2).Select End Sub

noname#18837
質問者

お礼

ありがとうございます。 助かりました。

  • gatyan
  • ベストアンサー率41% (160/385)
回答No.1

Range(Cells(g, 1).Address, Cells(h, 5).Address).Select ではどうですか?

noname#18837
質問者

補足

説明不足ですみません。 Range(Cells(g, 1), Cells(h, 5)).Select これは、うまくいきまして、 ここにRange("A5:E5")をたしたいのです。 Range(Cells(g, 1), Cells(h, 5)).Select Range("A5:E5")   この二つは離れた範囲の範囲指定です。 よろしくお願い致します。