• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:excel2000 vba 罫線の描写)

Excel2000 VBAで罫線の描写を行う方法

このQ&Aのポイント
  • Excel2000のVBAを使用して、開始時間と終了時間を選択すると罫線を描写する方法について相談しています。
  • 開始時間と終了時間を選択すると、指定したセル範囲に罫線が自動的に描写されるようにしたいです。
  • しかし、開始時間と終了時間が逆転されている場合はエラーメッセージを表示し、罫線の描写をキャンセルしたいと思っています。また、片方のセルがクリアされた場合は罫線も自動的に消えるようにしたいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • tsubuyuki
  • ベストアンサー率45% (699/1545)
回答No.1

ひとまず、お望みの処理は「罫線」ではなく「直線」ですね。 罫線と直線の違いはここでは割愛するとして、それを踏まえて・・ こう言うのはマクロを使うとそれなりにやりやすいのですが、 失礼ながら、マクロまではいかないのかなぁ、と拝読させて頂きました。 なので、直線を引くのではなく、セルの色を変える方法を提案させていただきます。 次善の策としてお納めください。 条件付書式を使っています(全て、書式→条件付書式「式が」を使います)。 まず、開始・終了時間の因果関係から。 開始時間が入力されたが、終了時間が入力されていない時、黄色く塗る設定を入れました。 C4セルの条件付書式の式に「=OR(AND($C4>0,$D4=0),AND($D4>0,$C4=0))」と設定します。 D4セルにも同様の設定をしてやります。 次に、開始時間と終了時間が逆転しているケースは、赤く塗りつぶします。 C4セルの条件付書式の条件を追加、式に「=$C4>$D4」としてやります。 D4セルも同様です。 続いて、本題の時間表部分。 これは「3行目の"時間"がC4セルの時間以上」且つ「D4セル未満」 且つ「C4が空白以外(0を超える)」且つ「D4が空白以外(0を超える)」 と言うのが条件ですから E4セルの条件付書式には「=AND($C4>0,$D4>0,E$3>=$C4,E$3<$D4)」としてやります。 ここには水色を塗っておきました。 あとは、必要分コピーしてやれば完成です。 コピーするときは絶対参照($付)にするのか、相対参照($無)にするのか、 ちょっとだけ考えないといけませんね。 どうしても「直線を引きたい」のであれば、マクロの勉強をオススメします。

puyopa
質問者

お礼

ご返事遅くなり、申し訳ございません。 教えてくださった条件付書式で、過剰になり過ぎずに対応できました。 勉強になりました。ありがとうございました。

関連するQ&A