ジメジメする梅雨のお悩み、一挙解決! >>

エクセルにおいて
vbaで「Select Case ステートメント」や「If...Then...Else ステートメント」を組める場合
条件付書式は役にたたないですか?
条件付書式のほうが優れている場合もありますか?

よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

こんはんば。



VBAとワークシートのコマンドは、比較にはならない、というべきかもしれません。VBAでは、条件を3つ以上増やして色をつけるという利点を挙げる人もいるかと思います。1回きりなら、VBAでは、色づけも良いのですが、あまり多く使いません。

実際の私自身の作ったものを言うと、VBAをがっちり組んでいるのにも関わらず、やはり条件付き書式を使って、入力した文字の内容を条件に、フォントを青くしたり、赤くしたり、戻すようにしています。

理由は、行を挿入しても条件付き書式の領域が広がらない、値の入力によって自動的に色が変わる、反応が速い、などの利点が挙げられます。

ただし、行を挿入したり削除するのを、セルを挿入/削除すると参照するセルがずれてしまうので、それらは、参照セルがずれないようなマクロにしました。
    • good
    • 0
この回答へのお礼

一回きりなら条件付書式で十分ですね。ありがとうございます。

お礼日時:2009/05/12 21:41

私の経験より回答します。


結論から言うとケースバイケースです。
条件付書式と関数のみで作成してしまえば、マクロを使わないのでマクロを有効にするかどうかの確認画面が誰が開いても出てこなくなると言う利点があります。(再描画の問題を考慮しなければ、選択している行をハイライトさせることも条件付書式で可能ですし、条件付書式での書式にセルの網掛けのみを設定するなどすればさらに視覚的効果の幅が広がります)
更に、条件付き書式を使うメリットとしては、マクロを使うほど高度な処理をするわけでもない小さな視覚的効果を実現するときに非常に強力です。(マクロだと1個1個構文を書いていくの面倒ですしね)
逆に、マクロで実装するほうが有利な場合もあります。関数だけで実装した場合は数が多くなるとLookUp系は特にですが再計算処理がもたつくようになります。更に、広範囲で複数パターンの入り混じった条件付書式をコピーしようとすると、「範囲が広すぎます」と言われて貼り付けできなかったり、複雑すぎて保存できませんと言われたりします。
そういうときに、Excelの自動処理に任せるのではなく、変更されたポイントだけをマクロでピンポイントに処理を行うことにより処理の高速化を狙うことができます。
ですので、条件付書式が絶対いいともマクロのほうが絶対いいともどちらともいえません。扱いたいデータの量やそのファイルを以後どのくらいの長さ使用するか、そのファイルをまたメンテナンスする頻度がどのくらいあるかなどによりマクロを使うかマクロを使わずに条件付書式で完結させるか、あるいは両方のいいところ取りをして最適なパターンを探すかなどいろいろな場合があります。
私自身、集計などの補助のためのファイルを作成することが多いですが、どちらもよく使っています。ただ、小規模なものでしたらマクロは極力使わないようにしていますね。(処理速度が重い場合は別ですが・・・)使用者がファイルを開くたびにマクロのセキュリティーの確認を聞かれるのも鬱陶しいだろうからと言う気遣い的な考えからですね。
以上、参考になれば幸いです。
    • good
    • 0
この回答へのお礼

どちらにも利点はあるのですね。
確かにセキュリティ画面は鬱陶しいですね。
ありがとうございます。

お礼日時:2009/05/12 21:40

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング