dポイントプレゼントキャンペーン実施中!

大きなデータを選択する場合でA列には空白がない場合、

Range("A1").CurrentRegion.Select でいいと思うのですが、このデータを並べ替えようとするとき、1行から4行めには別の文字列がはいっており、5行目以下がデータであるとき、
Range("A1").CurrentRegion.Offset(4).Selectで下にさげると、最終選択範囲も下がってしまいます。
最終の範囲を変えず、開始位置を5行目にかえるにはどうすればよいのでしょうか?

A 回答 (4件)

こんにちは。

maruru01です。

Resizeすればいいと思います。


Range("A1").CurrentRegion.Offset(4).Resize(Range("A1").CurrentRegion.Rows.Count - 4).Select
    • good
    • 0
この回答へのお礼

大変遅くなり申し訳ございませんでした。
たすかりました。
ありがとうございました。

お礼日時:2004/01/20 16:32

簡単に下記ではどうでしょう。


Sub test01()
d = ActiveSheet.Range("a2").CurrentRegion.Rows.Count
Range(Cells(2 + 4, "A"), Cells(1 + d, "B")).Select
End Sub
    • good
    • 0
この回答へのお礼

大変遅くなり申し訳ございませんでした。
たすかりました。
ありがとうございました。

お礼日時:2004/01/20 16:36

質問のように条件が、


・大量のデータがある。
・A列に空白がない。
・並べ替えのためのSelect 。

ということであれば、万一、CurrentRegion 範囲より下に違うデータがある
ことを考慮するとA列のEnd(xlUp)よりEnd(xlDown)が適当と思います。

また、並べ替え(行単位)が目的であれば、行を選択しては如何でしょうか。

Range("A5", Range("A4").End(xlDown)).EntireRow.Select
または
Rows("5:" & Range("A4").End(xlDown).Row).Select

CurrentRegion の範囲より下にデータが絶対無いとすれば、
Range("A5", Range("A65536").End(xlUp)).EntireRow.Select

データが全く無いことが想定される場合は、別途対処が必要です。

質問内容に率直な答えになっていませんが・・・?
    • good
    • 0
この回答へのお礼

大変遅くなり申し訳ございませんでした。
たすかりました。
ありがとうございました。

お礼日時:2004/01/20 16:34

こんな方法のありかな?


たとえば配列がA列からI列まであったとすると
Range("A4", Range("I4", Range("I65536").End(xlUp))).Select
    • good
    • 0
この回答へのお礼

大変遅くなり申し訳ございませんでした。
たすかりました。
ありがとうございました。

お礼日時:2004/01/20 16:34

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