• ベストアンサー

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

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

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

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

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

yuma07chan
質問者

お礼

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

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答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

  • 【Excel】スケジュール表 進捗率を入れると帯を描写するマクロ

    【Excel】スケジュール表 進捗率を入れると帯を描写するマクロ スケジュール表へ開始日と終了日を入力することで、その期間が"■"で表示される表があります。 この表へ進捗率を入力することで、開始日を基準に帯を表示させたいです。 進捗率が更新されたら、帯の長さ表示も更新されるように。 ご教授、宜しくお願いいたします。

  • EXCEL関数の質問です。A列に2010/10/1という日付が並んだ表

    EXCEL関数の質問です。A列に2010/10/1という日付が並んだ表。土日と祝日の日はB列に「休」と返す関数を作成したいです。 土日だけ「休」と返す関数は作成できますが、祝日を追加できません。 =IF(OR(WEEKDAY(A1,1)=7,WEEKDAY(A1,1)=1),"休","") 今このように作成しています。恐らく祝日の一覧を別シートに設けないといけないと思うのですが・・・ ご助力お願いします

  • エクセルでスケジュール表作成

    いつもお世話になっています。 エクセル(オフィスXP使用)でスケジュール表を作成しています。 日付は一番初めのセルに日付を入力すると自動的に日数が入力されるよう計算式を(隣のセル+1)で作成しています。1Pに月曜始まりで2週間分の日数が入っています。曜日は固定なのでWEEKDAY関数は使っていません。(直接曜日を入力しています)土日は網掛けをしています。 以上のスケジュール表で、自動的に祝日を判別し、セルの色を変えたいのですが方法はありますか?出来れば祝日の曜日欄には自動的に祝日と入るようにしたいのですが・・・。条件付書式などを組み合わせてなんとか1ヶ所入力すると全て自動で行えるように出来ないでしょうか?どの関数を組み合わせればよいか、もしくは別の方法(シートを別に作成し、祝日だけを入力すると、スケジュールのシートが自動的に変わったり・・・)など、ありましたら教えていただけると助かります。 宜しくお願いします。

  • EXCEL表の手入力を関数で自動化したい

    こちらで質問させていただいて、素晴らしい回答頂いたのですが、新たな問題が出てきましたので、再度質問させていただきます。 前回の質問は以下になります。 私は仕事で、毎日、10個ほどのサンプル(1個100g)について、理化学分析と味の評価をおこなっています。使用するサンプルについては、EXCEL表で在庫管理しています。受け入れた日に全部使用するわけではなく、最初に60g使用し、残りの40gは次回の比較に使用します。日々の手入力を改善したく、分析の払い出しを関数で自動化できないか検討しています。1回目の分析は自動化できましたが、2回目の分析日と使用量の払い出しの関数が、なかなかいい案がでません。いい案がありませんでしょうか? 作業の流れは以下になります。※EXCEL表1を参照 ①日付2023年11月16日に、オレンジ、イチゴ、リンゴを100g受け入れる。 ②1回目の分析は、その時に自動で60g払い出す。  リンゴでしたら、F11:=B11、G11:E11-40 ③D列を「リンゴ」でフィルターかける。その時、前回分と今回分のみが在庫40g残っているので、前回分を2023年11月16日の日付で40g払い出し、在庫をゼロにする。なので、最終的にすべてのサンプルは在庫40gとなる。 頂いた回答は、 H3に「=IFERROR(INDEX(B4:$D$1000,MATCH(D3,D4:$D$1000,0),1),"")」 I3に「=IF(AND(H3<>"",ISNUMBER(H3)),E3-G3,"")」 J3に「=E3-SUM(G3,I3)」 でした。 新たな質問というのが、EXCEL表1のH3の日付を、EXCEL表2のように年、月、日で分けるとそれぞれ、H3の関数をどうあてはめればいいかということです。 また、EXCEL表2の11/16のイチゴのように、同じサンプルが2個あった場合は、№の数が大きい方を1回目の分析で全量払い出し、1個だけ在庫を残すようにするためにはどうすればいいでしょうか? EXCEL表2の青枠4つの式を教えていただきたいです。教えていただければ、他の列のセルにもコピーする予定です。よろしくお願いいたします。

  • Excel2003 シートに入力されているマクロ

    以前勤めていた方が作成したExcelのファイル内にマクロが使われています。 編集したいのですが、作成者には連絡がとれず大変困っています。 どういうものかというと ブック「あああ」内のsheet「コントロール」にマクロが登録されたフォームが並んでいる。 ボタンを押すと同じブック内のsheet「Macro」に入力されているプログラムが実行される。 自分で作成するときは自動マクロでマクロを作成してから、 標準モジュールを編集して使用している程度の知識しかないので シートを使ったマクロがよくわかりません。 フォームのVBエディタを開いてみても入力はされていません。 命令文はセルに直接入力されています。 調べようにも何を調べればいいのかよくわからず、 せめてそれだけでもわかればと思い質問させて頂きました。 命令文はたくさん入力されており、どこをどう使っているのかもよくわからないので役に立たないかも知れませんが 参考までに載せておきます。 PrintMacro Print_I =ECHO(FALSE) =MoveHajime4() =PRINT(1,,,1,FALSE,FALSE,1) PrintThis =PRINT(1,,,1,FALSE,FALSE,1) =RETURN() Printあいう =MoveDemandForm() =SELECT("Print_あいう") =SET.PRINT.AREA() =PrintThis() =BackToCP() =RETURN() -------------------------- WorkBookAvtivate Macro BackToCP =ECHO(FALSE) =WORKBOOK.SELECT("[あああ.xls]コントロールシート","[あああ.xls]コントロールシート") =ECHO(TRUE) =RETURN() MoveHajime4 =ECHO(FALSE) =WORKBOOK.SELECT("[あああ.xls]HAJIME4.XLS","[あああ.xls]HAJIME4.XLS") =SELECT("R3C1") =ECHO(TRUE) =RETURN()

  • エクセル マクロ スケジュールから

    Excel2000使用です。 月間スケジュール表で、一番上の行に1~31が入力されており、直下の行に曜日が入力されています。 マクロを使用して月間スケジュール表から項目を抽出したいのですが、例えばどこかに5日のスケジュールなら5を入力すれば5日のスケジュールのみ抽出するということができますか? 毎日出力する必要がある表なので、現在はその前後の日付を表示しないようにしてから出力しています。 よろしくお願いします。

  • マクロ機能について

    「マクロを使ったカレンダーの作り方」についての質問です。  マクロ式使わせていただきました。ありがとうございました。  追加で、祝日の下のせるに祝日名を入れたいのですが式がどうしても分かりません。  教えていただけないでしょうか?

  • エクセル表で日にちの計算式

    エクセル表で日にち4/1~4/30までを土日と祝日のお休みを引いた日数を計算したいのですが?そんな関数はありますか? 宜しくお願い致します。

  • エクセルで工程表の作成(開始日、日数、担当者を条件に自動で色をつけたい)

    エクセル(2003)で工程表の作成しています。 開始日と日数を条件に自動でカレンダーのセルに色(担当者別に色分け)をつけたいのですが、どのようにすればよいかお知恵を頂けますでしょうか? 【完成イメージ】    開始日 日数 担当者  3/1 3/2 3/3 3/4 3/5 工程1 3/1   2    A   ■ ■ 工程2 3/2   3    B   ■       ■  ■ ※土日、祝日は飛ばして色をつけたい ご回答いただくにあたり不足の情報がありましたらご指摘ください。 以上よろしくお願いいたします。

  • 貼り付けをマクロで禁止させたい。

    エクセルで上司のスケジュール表を作りました。 1シート1か月分で別シートに祝日の関数を用意して特定のセルに年を入れると各月のシートの土日祝日のセルに色が付くように書式設定してあります。 これは私だけではなくほかの数人もスケジュールを入力しているのですが、あまりエクセルが詳しくない人がいて、複数人の上司について同じ予定がある際、コピー&ペーストしてしまうことで書式も一緒に貼り付けされてしまいます。 この質問集の中では同様の質問でペーストのショートカットと右クリックででる貼り付けを潰してしまうマクロが出ていて参考にしたのですが、ツールバー?(2007でいうリボン?)のところの貼り付けは可能のままです。リボンの貼り付けも潰してしまうマクロもしくは形式を選択して貼り付け→値を強制的に行うマクロをご存知の方がいたら教えていただけませんでしょうか?宜しくお願いします。 OSはXP,エクセルは2007をしようしています。 

専門家に質問してみよう