目次
Excel VBA ソートと罫線を引く
こんにちは。伊川(@naonaoke)です。
今回は、VBAで、ソートと罫線を引くという事を実行します。
カンタンなようですが、いざという時、結構困ったりします。
しかし、それほど難しくないですし、皆さんのスキルにしていただければと思います。
このブログはこんな人にお勧め
- 毎日、並び換え、罫線を引く作業が面倒な人
- VBAで、並び換え、罫線を引いてみたい人
- VBAを勉強中の人
解決
可変にしないで、Rangeで実行
罫線を引く場合も、ソートを実行する場合も、毎日、範囲が変わる場合もあると思います。
変数等でループさせるのも1つの手段ですが、今回は、範囲が決まっているという前提で行います。
ブログと動画で利用している教材が異なりますが、ご了承ください。
データをソートする 作業手順 その1 データベース確認
上記のようなデータベースがあります。
そのデータベースをIDで昇順に並べ替えをしたいと思います。
データをソートする 作業手順 その2 ソートに必要な知識
下記の表が、ソートに必要な知識になります。
上のようなコードになります。
とてもカンタンです。
データをソートする 作業手順 その3 それでも可変にしたい場合
しかし、明日、突然、ソートの範囲が変わるかもしれません。
VBEの画面を開けて、範囲の指定をし直すのは、とても面倒です。
変数を知らなくても、可変にすることが可能なのです。
そのことをこれから紹介します。
データをソートする 作業手順 その4 CurrentRegionを使う
CurrentRegionを理解すると本当に便利です。
CurrentRegionとは、表全部を選択するコマンドです。
つまり、CurrentRegionは、空白で囲まれたセルの内側を選択したわけです。
ただし、起点となるセルを指定しなければなりません。
大体、ソートする場合は、表になっていると思います。
CurrentRegionを理解すると、ループをしらなくても、明日、ソートする範囲が変わったとしても、CurrentRegionがすべてを解決してくれます。
たったこれだけで、可変に対応します。
データに罫線を引く 作業手順 その1 罫線もCurrentRegionで解決できる
罫線を引くために必要な知識は、下記の表の通りです。
ここも、CurrentRegionで対応できます。
もし、明日、範囲が変わったとしても、表の端から端まで、きれいに罫線を引くことが出来ます。
With ステートメントでまとめる書き方もいいですね。
ここがポイント
Excelは表計算ソフトである以上、表を使います。なので、CurrentRegionは絶対に覚えましょう。きっと、CurrentRegionを考えた人は、可変の時に、理解できず、苦労した人なのかなと思います。先人の苦労を忘れてはいけません。
まとめ
以前にも、CurrentRegionはブログで紹介しています。
前回の時は、表の値をコピーする内容でしたが、色々な細工が必要でした。
派手なことをするだけが、VBAではないので、地味かもしれませんが、着実にスキルアップしていきましょう。
<strong><span style=”background-color: #ff00ff; color: #ffffff; font-size: 24pt;”>今回のサンプルファイルは、ありません。</span></strong>
わからない事を延々と考えるのは、無駄です。
- なんで作動かないの?
- もうやだ!VBAなんか嫌い!
- ネットで調べても情報がない!
必ず作動するコードが、ここにあります。