VBAのタグでこのような記事を見掛けました。
特定の文字列を決まった列に入れておいて、行の終端を判断させているというのは面白い発想と工夫だなぁ…と、感心しながら読ませてもらいました![]()
私だったら、どのように実現するだろうか?と、考えてみました![]()
うーむ…![]()
おそらく相対参照している数式があるので、行を丸ごとコピーして継ぎ足しながら使っていて、その行数が少なくなったら警告メッセージを出してコピーを促しているけれど、誤判定してしまうのをどうにかしたい…という事なのでしょう。
そういうことであれば、いっそのこと、コピーをしなくても済む方法にしてしまうというのも1つの案かなぁ…と思うのです。
テーブル機能が使えるEXCEL(たしか、2003以降だったかな?)であれば、お小遣い帳としている領域をテーブルとして指定しまうのが楽ではないでしょうか?
なんと、テーブルを使うと、最終行にデータを入力するだけで自動的に領域を広げてくれるのです。数式もコピーされて、とても便利なのです。
更にピボットテーブルという機能を使用すると、月ごとの集計とか、費目ごとの集計なんかもVBAプログラムを書くことなく実現できたりもします。
…なんて、偉そうに書きましたが、私がこの機能を知ったのはつい最近だったりします![]()
VBAからテーブルを参照する際にも、テーブルの左上のセルの場所を取得できるので、テーブルのセルの場所が変わってもプログラムを書き換える必要がない(書き方次第ではありますが…)というのを見掛けて衝撃を受け、それ以来テーブルを使いまくっています![]()
最近のEXCELは表計算ソフトというよりも、データベースに近い存在になりつつあって、やれることも多く驚かされることばかりです。
