作成した表を選択する

こんにちは。伊川(@naonaoke)です。


上の記事で、FINDメゾットを紹介しました。

紹介のときに、CurrentRegionという記載がありましたので、今回は、CurrentRegionを紹介します。

表の選択が超カンタンになります。

問題提起

 

(株)IKAWAの柄久 瀬瑠子(エク セルコ)は上司から下記のような依頼を受けました。

業務で利用する表をカンタンにコピー、

貼り付けができるVBAを作成してほしい。

カンタンにVBAを作成することができるのだろうか?

解決策

 

回答
sesuo2.jpg
・CurrentRegionで表を全部選択する。・OFFSET  Resize  rows.countで微調整を行う。

CurrentRegionプロパティ

プロパティでは空白のセルで囲まれた範囲を読み取り、参照するプロパティです。

表で管理していたデータに追加分が発生した際に、そのまま追加分を指定することができます。

ここが超カンタンで便利なのです。

しかし、少しだけ、不便なところもあります。

CurrentRegion 作成手順その1 データベースを確認


上の図のような表があります。

表全体を選択するならカンタンです。

 

上のコードだけで選択されます。

表の項目が追加されようが、減少しても、なにもコードを修正することはありません。

ただ、表全体が選択されることがデメリットでもあるのです。

表全体ということは、日時、名前、部署も選択されます。


CurrentRegion 作成手順その2 OFFSETを利用する

 

OFFSETを追加したコードを実行します。


OFFSETが理解できていない人は上の記事を読んでください。


日時、名前、部署は選択されなくなりました。

しかし、空白の行(セルA12~セルC12)も選択されました。

肝心なことは、ここで失敗と思わないことです。

一歩進みましたが、一歩後退しただけです。

後は、帳尻を合わせればいいのです。

CurrentRegion 作成手順その3   Resize rows.countで帳尻を合わせる

 

上のコードを実行すると、必ず、余計な1列も選択されます。

その余計な列を選択しなければいいのです。

最後の列から、1列を除算すればいいという発想ができれば、後はカンタンです。


Resizeプロパティもセルの範囲を変更するために、OFFSETと同様に、必要なスキルとなります。

OFFSETと合わせて、ぜひ、Resizeのスキルも取得してください。


コピーされました。

上の図のコードは、コピーした内容をSheet2のセルA2から、貼り付けるというコードになっています。

コピーと、貼り付けは、動画では紹介していません。

実務では、単に選択のみというVBAはないでしょう。

コピー、貼り付けのコードも参考にしてみてください。

ここがポイント

 

ここがポイント
Function8.png
入実務でVBAを利用する場合は、表の選択は、結構あるのではないでしょうか。先頭から、1列下がる、1列を除算する。このようなコードを閃くようにするために、カンタンなコードを記載して練習しましょう。そうすると、VBAに対する考え方が理解できるようになります。

 

まとめ

今回のまとめ
sesuko3.jpg
CurrentRegion、OFFSET、Resizeを利用して、必要な表の部分を選択できるようなった、柄久 瀬瑠子(エク セルコ)なのでした。

今回のサンプルファイルは、No62です。

サンプルファイル
VBAを勉強中の悩みを解決
  • なんで動かないの?
  • もうやだ!
  • どこにも情報がない!
スポンサーリンク

Twitterでフォローしよう

おすすめの記事