【Excel VBA】If Elseとは違う条件式(Select Case)について
エンジニアのIMMRです。Excel VBAの条件式には、以前に説明したExcel VBA 条件式(If Else)とこれから説明するSelect Caseの二つあります。1.従来のIf Else条件式If Elseは条件に合った時は処理Aを、条件に合わなかったら処理Bを実行します。では、下記のようなデータがあり、複数の条件があるとします。If Elseを使用して作成すると2種類の方法が浮かぶと思
Workteria(ワークテリア)では難易度の高いものから低いものまで、スキルや経験に合わせた案件を多数揃えています。会員登録は無料ですので、ぜひ会員登録してご希望の案件を探してみてください!
フリーランス/正社員のエンジニアとして活躍するには、ご自身のスキルや経験に合わせた仕事を選ぶことが大切です。ご希望の案件がみつからない場合はお気軽にお問い合わせください!ユーザ満足度の高いキャリアコンサルタントが在籍していますので、希望条件や悩み事などなんでもご相談ください。ご希望にピッタリの案件をご紹介させていただきます。
皆さんこんにちは、エンジニアのIMMRです。
例えば、下記のようなデータがあるとします。
図1 ブック61

このようなデータについて下記のように罫線を付けて、加工したいです。
図2 ブック61(イメージ)

皆様でしたらどのように行いますか。
罫線の追加については以前に説明をしています。
そこでは、
Range("A2:G21").Borders.LineStyle = xlContinuous
と説明しています。
セルの範囲を直接記載して、罫線追加を行っていますが、もしデータのレコード数がわからない場合、
どうやって、G21と判断しますか。
範囲設定を行う方法は、いくつかありますが、そのうちの一つが Range("A2:G21")のような方法です。
セル(A2)からセル(G21)までの範囲 つまり、赤枠で囲った範囲になります。
図3 ブック(範囲)

この方法での範囲指定は、最後のセルのアドレス(どこの行? どこの列?)が必要になります。
毎回、データ数が同じということはあまりないですよね。
そのため、最後のセルは変わってくるので毎回、調べる必要があり、手間がかかります。
VBAには、「CurrentRegion」というプロパティがあります。
これは、一つのセルを選択することにより、そのセル含むかたまりのセルの範囲を自動で設定してくれます。
例えば、下記図のように
全体のかたまりはセル(A1)~セル(G21)です。
そのかたまりの中の1つである青枠のセル(A2)の「CurrentRegion」とすると
自動で赤枠セル(A1)~セル(G21)の範囲だと判断してくれます。
図4 ブック61(全体範囲)

記載方法は
指定セル.CurrentRegionです。
プログラムは罫線を追加するだけなのでシンプルです。
サンプルプログラム
Sub test1()
Range("A2").CurrentRegion.Borders.LineStyle = xlContinuous
End Subこれでセル(A2)を含む、セルのかたまり(範囲)に罫線を追加するということになります。
では、実行結果を見てみます。下記の図が実行結果です。
図5 実行結果

プログラムでは、セル(A2)しか指定してないです。
しかし、セル(A2)~セル(G21)の範囲で格子上の罫線が追加されています。
表に含まれる1つのセルから表全体を選択することができました。
そのような方はぜひ、Workteriaサイトをご利用ください!
定期的にご本人に合う高額案件を紹介
リモートワークなど自由な働き方ができる案件多数
専属エージェントが契約や請求をトータルサポート