「だるころ」(だぁ~るまさんがこぉ~ろんだ♪)

「だるころ治療院」を開設しようと思って、はてなブログを作りました。 https://darucoro.com/

セル範囲の指定方法(VBA)


スポンサーリンク

★読者登録お願いします

 

Excel(VBA)」

 

 基本が大切だと思ってます!

 目的のセルを基本に則って指定
 

今回も訪問して下さりありがとうございます。
 
今回はセル範囲の指定を取り上げたいと思います。

 

f:id:darucoro9216kun:20200416115740p:plain


こんな表が有った時に、「A2からA10までを指定」してみましょう。
 Range("A2:A10").Select これで範囲指定出来ます。
でも、最終行は追加されるので、一般的には下に表が追加作成されても対応できるように記述することが多いと思います。
 
その場合 Range("起始”,"停止"
が一般的です。
 Range(Cells(2, 1), Cells(Rows.Count, 1).End(xlUp)).Select
 
でも...。たまに分かりにくい記述に出会います。
Range("A2", Range("A2").End(xlDown)).Select
確かに、これでも選択できます。
 
 
でも、これならちゃんと変数で最後の行を設定してほしいです。
    Dim lastrow As Long
    lastrow = Cells(Rows.Count, 1).End(xlUp).Row
    Range("A2:A" & lastrow).Select
   上記をCellsで記述すると...。
    Range(Cells(2, "A"), Cells(lastrow, "A")).Select
   こんな感じでしょうかね。
数字はダブルクォーテーションで囲まない。文字列はダブルクォーテーションで囲まないとダメ!!
この基本はとっても大切だと思います。
 
じゃ、空白の「C2からC10」は変数(lastrow)を使わずに選択できる?
そう聞かれたことが有りました。

f:id:darucoro9216kun:20200416120059p:plain

Offsetを使えば大丈夫です。
 
 Range(Cells(2, 3), Cells(Rows.Count, 2).End(xlUp).Offset(0, 1)).Select
空白部分の最終行は取得できません。
でも隣の行を上手く使ってOffsetでずらせば良いんです。
 
先ほどの変数を使えば、記述はシンプルになります。
    Dim lastrow As Long
    lastrow = Cells(Rows.Count, 1).End(xlUp).Row
     Range(Cells(2, 3), Cells(lastrow, 3)).Select
 
    こんな記述もよく見かけます。
    Range("C2:C" & lastrow).Select
    Rangeで記述すると短く記述出来ます。
 
 
  変数「lastrow」は便利です。
でも変数をわざわざ使わなくても...。ってときも多いです。
セル範囲の指定を上達させる為に、なるべく素のままセル範囲を選択する癖を付ける様にしています。
 
じゃ、必要な部分全範囲指定して!!

f:id:darucoro9216kun:20200416120725p:plain

僕はいつもこう思ってます。
赤い部分(左上の事が多い→レフト・上)  レフウエ
青い部分(右下の事が多い→ライト・下)   ライシタ
この二つの指定でセル範囲が特定できる!!
Range(Cells(2, 1), Cells(Rows.Count, 2).End(xlUp).Offset(0, 1)).Select
 
もちろん単なるウエ」「シタって事も有りますけどね。
 
今回はセル範囲の指定でした。
 
 
 

 

また来てくれる日を
楽しみにしています。
 
ワードプレス記事も
よろしくお願いします。
QRコードがHPの入り口です!

 

画像リンク

QRコードをタップ 

 
画素リンク
☆D-BLOG☆

 

プライバシーポリシー