- ベストアンサー
Excel2003でセルの色を自動表示する講演スケジュール表の作り方
- Excel2003を使用して、一日のスケジュール表を作成する方法を教えてください。
- 各部屋ごとの講演会名と講演時間を入力することで、セルの色が自動的に表示される講演スケジュール表を作りたいです。
- 手作業でセルの色を変えるのは大変なので、改善したいです。具体的な方法を教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
マクロを使わないでも、講演会リストの右の方にズラ~っと作業用セルを並べりゃできそうですが、マクロを使う方が良いですね。VBAマクロ使われたことあるでしょうか? 2003環境がないので実際にマクロ組んでチェックはしていませんが、流れだけでも書いておきます。 まず、前提条件として3点ほど入力操作を限定した方が良いと思います。 1)「講演会のリスト」の会議室名は、書式の「入力規則」のでリストから選択での入力とし、 スケジュール表に無い会議室名は入力できないようにする。 2)公演の時刻は日をまたぐことは無く、終了時刻より開始時刻の方が遅い事は有り得ない。 3)15分きざみ以外の時刻は設定しない。(時刻もリスト選択する方が良い)。 4)講演会のリストには空白の行を挟まない。 こういった限定条件を設けないと、処理が増えて面倒です。 マクロの流れは、 1)変数宣言 2)スケジュール表をクリア(セルの色を背景色に戻し、スケジュール表の文字データをクリアする) 3)リストの上から順に、以下の手順4~8を実行 4)会議室名を読み取り、文字変数に入れる 講演会名を読み取り、文字変数に入れる 開始時刻と終了時刻を読み取り、それぞれ変数に入れる。 5)読み取った会議室名で、場合分けをして、スケジュール表の何行目に相当するデータか判断する。 (Caseを使うと良い) 6)対象行での開始時刻に相当する部分のセル番号を計算する 開始時刻からスケジュール表の一番早い時間を引き、"0:15"で割る その数字をスケジュール表の一番早い時間のセル番号に加算する。 7)対象行での終了時刻に相当する部分のセル番号を計算する 終了時刻から開始時刻を引き、"0:15"で割って、1マイナスする。 8)5のセルから6のセルまで、色を付ける。 5のセルの一つ下のセルに、講演会名を入れる。 9)次の行の処理に移る 10)空白行になったら、処理を終了する。 この流れで対応出来ると思います。 マクロの組み方が分からなければ、 [技術者向] コンピューター▼プログラミング▼Visual Basic のカテゴリーで再質問されると良いでしょう。 仕様上、幾つか懸念点があります。(マクロで判定文増やせばフォローも出来ますが、面倒ですので上に書いてません) ・使用予定が連続する場合、色分けしないと区別しずらい。 ・ダブルブッキングのチェックをしていませんので、下行のもので上書きした表示になる。 ~~~~~~~~~ 個人的には、逆にスケジュール表に入力してマクロで一覧表に出力するという使い方の方がダブルブッキングや時刻設定のミスなど生じなくて良いと思います。実はそのほうがマクロも簡単になるし、リストも確実に各部屋と時刻順に並ぶから、見やすいと思いますね。
お礼
早速のアドバイス、誠にありがとうございました。 マクロについて、これまで使用したことは無く、関数やセルの条件書式によって、スケジュール表を作成できないものでしょうか? マクロによる作成がより効率的でしたら、これを機会に勉強してみようと思います。