電子書籍の厳選無料作品が豊富!

お世話になります。
ExcelVBAで困っていますので、アドバイスをお願いします。

A5:A10とD5:D10までといったように離れたセルへ
Rangeを用いて範囲指定を行いたいのですが、
その際、行を示す数字に変数を用いたいと考えています。
この場合、どういう指定をしたら宜しいでしょうか?
またRangeではなく他の方法もありましたら、
是非、ご提案願います。

どうぞよろしくお願いします。

A 回答 (4件)

変数で範囲を指定する場合は、Cellsを使用します。


Cells(5, 1).Slectは Range("A5).Slectと同じ、
範囲を指定する場合は、
Range(Cells(5, 1), Cells(10, 1))
離れたセルを指定する場合は
Union(Range(Cells(5, 1), Cells(10, 1)), Range(Cells(1, 5), Cells(10, 5))).Select
    • good
    • 0
この回答へのお礼

ご返答ありがとうございます。
Unionで目的が達成できました!!

お礼日時:2007/11/10 11:29

こんにちは。



直接の回答ではないけれども、テクニックだけの質問というのは、回答者にとって厳しいなって思います。単発のテクニックで聞かれたら、それはキリがないからです。

>A5:A10とD5:D10までといったように離れたセルへRangeを用いて範囲指定を行いたいのですが、

離れたセルに範囲指定する、という論理が成り立つか成り立たないか、私には分からないです。離れた範囲なら、一般的にはUnion ということですが、Union は、オブジェクトを複数に確保し、一括編集など、画面の変化に左右されないで行ったりする場合であって、通常なら、別々に処理してもかまわないのです。その時間差というのは、長くても0.005秒程度の間だと思います。

もちろん、こんな書き方も成立はしますが、通常はありえません。
i = 5
j = 10
Range("A" & i & ":A" & j & ",D" & i & ":D" & j).Select

なるべく全体的な内容をお聞かせください。このレベルをお聞きになるというのは、全体のコードがうまく成り立っていない可能性もあるのです。
    • good
    • 0
この回答へのお礼

ご返事ありがとうございます。
色々悩んでいたのですが、":A"の発想ができず行き詰っていました。
ご返答頂いた内容で目的が達成できました。

>単発のテクニックで聞かれたら、それはキリがないからです。
の件もおっしゃる通りです。
今回は私の勉強不足により疑問点が解決できず
質問させて頂きました。もう少し頑張って勉強します。

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

お礼日時:2007/11/10 11:35

普通は(下記どちらか1行)


Sub test01()
Range(Cells(1, "A"), Cells(10, "A")).Select
Range(Cells(1, "D"), Cells(10, "D")).Select
End Sub
ですが
Sub test02()
i = 1: j = 10
Range("A" & i & ":A" & j).Select
End Sub
というのもある。
Sub test03()
Application.Goto ActiveWorkbook.Sheets("Sheet1").Range("D3:E11")
End Sub
というのもある。
    • good
    • 0
この回答へのお礼

ご返答ありがとうございます。
目的が達成できました!!

お礼日時:2007/11/10 11:38

Range(Cells(5,1),Cells(10,1))


のことでしょうか。
    • good
    • 0
この回答へのお礼

ご返答ありがとうございます。

お礼日時:2007/11/10 11:36

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!