Excel VBAで特にデータ加工する時に好きなコード

Thisworkbook.Worksheets(1).Usedrange

上記のコードで、指定したワークシートで、データの存在する範囲のRangeオブジェクトが分かります。大胆なデータ加工の時はExcel内でSQLを使ってしまいますが、そこまでしなくてもいいようなちょっとしたデータの追加(行方向、列方向、どちらも)には、結構重宝しています。

テーブルの1番下にデータを追加したい!ってこと、よくあると思うんです。事実、これができるようになると、ものすご〜く便利になります。データを行方向に追加するってことは、常に変化する最終行の行数を数字で持ってくる必要がある。そういう時は、私は次のように取ってきます!

〜.Usedrange.Rows.Count

こうすれば、データを蓄積したテーブルの最終行の行数が分かります。この数字に「+1」すれば、追加するデータの挿入位置が定まります。

例えば、別シートの崩れたテーブルから、条件を満たすデータだけを取ってきて、それらを順番にテーブルに積み上げていくときに役立ちます。一見、SQLや統計解析ソフトのSPSSやSASを使ってしまえばすぐに解決するように思うのですが、それがものすごく難しいことなのです。難しいというより、こういう時は統計解析ソフトのデータ加工はむしろ使いづらいという認識を持っています。まず、よく見るExcelで管理されたデータって、人間の視認性がとてもいいのですが、その分あるべきデータが抜けていたり、同じ列に違う型のデータがごちゃ混ぜになっていたり、一つのワークシートに複数のテーブルが混在していたり、、、。実際にSASを使ってた頃、こういうExcelデータはまともに読み込めませんでした。でも世の中にある大部分のデータって、こういうデータだと思うんです。データ分析のプロが蓄積したデータなら、すぐにでも統計解析ソフトに取り込めるくらいキレイなデータの貯め方をするんだと思います。でも、そういう「キレイで加工しやすい」データって、ある程度データ加工についての教育を受けないとできないと思うんです。はじめてらじお自身も、統計解析ソフトSASの教育を受けるまでは、そういうことは知らなかったです。そしてこういう教育を仕事を通して受けられる人って、ほんとに一部の業界に限られていると思います。だから、いろんな所で蓄積しているデータも、直ちに統計解析ソフトで扱えないというハードルが立ちはだかるのかなと考えています。Excelが小回りのきく「普通自動車」なら、統計解析ソフトは「重量級のダンプカー」とも聞きます。なので、プログラムを通してデータ加工をするなら、Excel VBAの方がやりやすい時もあったりします。

そういうこともあって、テーブル最終行の行数を取得する方法はとても重宝しています。

とりあえず、今回はここまで!また書きまーす!

この記事が気に入ったらサポートをしてみませんか?