マネックス証券に無料資料請求をして資産運用の第一歩を踏み出す
簡単なアンケートに答えるだけでおこづかい稼ぎができるYahoo!リサーチモニターライトに登録する
◆通信料金を払いすぎていませんか?価格.comブロードバンドでアクセスプロバイダ比較
世界標準のブログソフトウェア「Movable Type」発売中!!

2006年04月20日

Excel VBAの便利なトコ

VB文法はオレにとって不可解な部分が多いのは先日の記事のとおりですが、その一方で便利な部分も多いです。

オレがとくに便利だと思うのは”For Each ◇ In ○○”というヤツです。

他の言語で言えばイテレータのようなものだと思うのですが、In以降にコレクションオブジェクト(あるいは配列)を指定しておけば、中身を順に◇の変数に代入してくれるという優れものです。

こういうものが準備されているとコードを書くのがとても楽です(笑

職業プログラマではないので処理速度を気にする必要が(あまり)ないのでベタな処理のへっぽこコードが多いのですが、”For Each ◇ In ○○”を使うと各セル単位の処理などはシンプルに記述できます。

しかも、In以降はコレクションオブジェクトならばなんでも指定できるので、たとえばWorksheetsを指定して各ワークシートに必要な処理を行なう、なんて作業も簡単に書けます。

単純作業は機械任せがいちばん!

それを実感しますね(笑

あと、意外と便利なのが「名前付き範囲」。

普段あまり馴染みのない機能ですが、VBAの場合ならば話は別。

処理速度向上のためには名前を使わない方がいいという話もありますが、ブックのどのワークシート上のどこに目的とするセル範囲があるのかということを意識しないで済むという点ではこんな便利なものはありません。

あんまりたくさん名前付き範囲を指定してしまうと、それはそれで混乱の元でしょうが、少なくともよく使うものに関してはセル範囲に名前を付けた方が楽できます。

とくにワークシートが増えてくると、どのワークシートだったっけ?ということが頻繁に起こりうるわけでして、処理速度よりも「いかに楽してコードを記述するか」がオレには重要なので名前付き範囲はポイント高いですね〜。

VBA使いはじめると「マクロの記録」のほうがめんどくさくなってきます。

直接コードを書いていった方が早い(汗

このあたりは人によるのかもしれませんが、少なくともオレにはそう思えます。

ただし、オレがぶつかっている壁はフォームですね。

フォーム作成、たしかに楽ですがどうコードを書いた方が美しいのかとか(笑

これはへっぽこサンデープログラマとしての永遠のテーマかもしれませんね。
posted by xiu at 17:12| Comment(0) | TrackBack(0) | VB/VBA | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:


この記事へのトラックバック
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。