• ベストアンサー

【Excel】◇再質問◇スケジュール表 進捗率入力で帯描写するマクロ

【Excel】◇再質問◇スケジュール表 進捗率入力で帯描写するマクロ お世話になります。Excel2007使用です。 以前、質問番号:5949136で質問し、解決できました。ありがとうございました。 スケジュール表を使用する中で欲が出て、土日祝日を取り除いたカレンダーに 進捗率の数字を記入すると自動で帯を引くようにしたく思います。 どのようなマクロになるでしょうか 日数と6/15からのカレンダーは関数で出しています。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

帯である図形の左端位置,つまり開始列(開始セル)を開始の日付を元に求めること。 帯である図形の100%の全幅,つまり終了日である列(セル)の右隣のセル位置を終了の日付を元に求めること。 の2点を今お手元で出来ている内容不明のマクロに組み込めば,できます。 開始の日付と終了の日付が「絶対に土日にかからない」ようになっている保証があるのか,もし無いならどうしたいのかなど,具体的な状況が不明です。とりあえずご自分で少し努力してマクロに手を入れてみて,その上で「ここができない判らない」箇所を具体的にして改めてご相談を投稿なさってみたらどうでしょう。

yuma07chan
質問者

お礼

時間がかかりましたが、なんとか解決できました。 ありがとうございました。

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

エクセルの日付シリアル値の仕組みを知ってますか。 VBAでやるには、こういうことも判って無いとだめ。 質問に書いてないのだが、このことの大切さを判ってないのでは。 B,C列は日付シリアル値で表示形式をm/dにしていると常識的に推測する。6月のグラフを描く領域の日付見出し的な15,16などは、どうなっているのか。私なら日付シリアル値を入れて、表示形式dで15とかに見せるが、質問者はどうしてるのかな。 15とかの数だけだとVBAの関数DateSerialで第1行の月数字6と2行目の日数字15と西暦2010(来年は手直しが必要で個の方式は良くないと思うが)から2010/6/15 の日付シリアル値を作成する。 ーー 各セルの日付シリアル値とスタート日を比べて、等しいか大なら、かつ エンド日より等しいか小なら、セルに■を書き込む。 (日付シリアル値は整数値なので大小比較が即、日付の前後の判定に使える。 セルの日付がエンド日を超えたら、その行の処理を打ち切り、次の行の処理にうつる。 ーー こういう処理ロジックを組み立てるようになるには、経験を積むしかない。 前質問と同じような質問を繰り返しているのではないかと思うが、こういうロジックさえ(前問で)自力で組み立てできれば、土日が消えても、変更が必要かどうか、わかるはず。 質問コーナーに質問して、自分で解決に苦しまないと進歩しない。

関連するQ&A