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

「A2セルからA2セルの所属する行の右端のセルまでを選択」は以下の様に記述しますが、
Range(Range("A2"), Range("A2").End(xlToRight)).Select


途中に空白セルがあると途中までの範囲になってしまうため、
空白を無視して一番右端セルまで選択するにはどうしたら良いでしょうか?

例えば、ZA2まで値が入っていたとしたら、
A2:ZA2 の範囲をコピーしたいのです。

A 回答 (3件)

fujillinさんの疑問も直近の質問をみると理解できるのではないかな?と感じました。


ちょっと弄らせて貰うなら、

Range(Range(開始セル), Cells(Range(開始セル).Row, Columns.Count).End(xlToLeft)).Select

こんな感じではないでしょうか?
    • good
    • 0
この回答へのお礼

ありがとうございます。
よく理解できましたし、
うまくいきました!

お礼日時:2018/10/18 13:52

No1です。



>実際はA2は変数にして、状況に応じて可変できるようにしています。
>Range(Range(開始セル), Range(開始セル).End(xlToRight)).Select
ご提示の記述だとRange(開始セル)がA列を示しているという保証がなければ、ご質問とは異なる結果になると思いますけれど?
通常Rangeオブジェクトはセル範囲を表しますので、その最初の行の1列目(=A列)から値のある最終列までを選択するという意味でよければ

rw = Range(開始セル).Row
Range(Cells(rw, 1), Cells(rw, Columns.Count).End(xlToLeft)).Select

1行にまとめてしまうなら
Range(Cells(Range(開始セル).Row, 1), Cells(Range(開始セル).Row, Columns.Count).End(xlToLeft)).Select
となりますけれど、「開始セル」をどのように指定しているのか不明ですが、この記述法は(多分)まわりくどく要領が悪すぎる記述になっていると思います。
(ここでは「開始セル」としか書きようがないので、上記の様になります。
 行がすえにわかっているのなら、上段の例の2行目だけを直接用いれば良いです。)
    • good
    • 0
この回答へのお礼

ありがとうございます。
「開始セル」という変数は、A2だったりF4に変わったりします。
それに応じて、
A2:ZA2 や F4:X4 のように開始セルからその行の一番右端セルの範囲をコピーできるようにしたいです。

お礼日時:2018/10/18 11:50

こんにちは



Range(Cells(2, 1), Cells(2, Columns.Count).End(xlToLeft)).Select

ではいかが?
    • good
    • 0
この回答へのお礼

ありがとうございます。
ですが、実際はA2は変数にして、状況に応じて可変できるようにしています。
実際には、以下のような具合です。
Range(Range(開始セル), Range(開始セル).End(xlToRight)).Select

これを、空白に影響されず一番右端セルまで選択したいです。

お礼日時:2018/10/18 11:23

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A