- 締切済み
エクセルの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 よろしくお願い致します。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- papayuka
- ベストアンサー率45% (1388/3066)
これでも良いように思います。 Sub Test() Dim Row1 As Long, Row2 As Long Row1 = 9: Row2 = 32 Range("A5:E5,A" & Row1 & ":E" & Row2).Select End Sub
- gatyan
- ベストアンサー率41% (160/385)
Range(Cells(g, 1).Address, Cells(h, 5).Address).Select ではどうですか?
補足
説明不足ですみません。 Range(Cells(g, 1), Cells(h, 5)).Select これは、うまくいきまして、 ここにRange("A5:E5")をたしたいのです。 Range(Cells(g, 1), Cells(h, 5)).Select Range("A5:E5") この二つは離れた範囲の範囲指定です。 よろしくお願い致します。
お礼
ありがとうございます。 助かりました。