• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルでスケジュール管理)

エクセルでスケジュール管理 - 社内スケジュールを週間予定表に変換する方法

このQ&Aのポイント
  • 社内のスケジュール管理には、エクセルシートが使用されています。
  • 現在のスケジュール表から週間予定表を作成する方法を知りたいです。
  • また、自動的に週間予定表を更新するマクロも作成したいと考えています。

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

  • ベストアンサー
  • toshi_2000
  • ベストアンサー率30% (306/1002)
回答No.4

No2です(週間予定のほうです) Sub test() Dim first As Date Dim last As Date Max = Cells(65536, 1).End(xlUp).Row first = InputBox("日付入力") last = first + 7 For i = 2 To Max If Sheets("sheet1").Cells(i, 1) >= first And Sheets("sheet1").Cells(i, 1) <= last Then Sheets("sheet2").Cells(i, 1) = Sheets("sheet1").Cells(i, 1) Sheets("sheet2").Cells(i, 2) = Sheets("sheet1").Cells(i, 2) Sheets("sheet2").Cells(i, 3) = Sheets("sheet1").Cells(i, 4) k = 1 For j = 6 To 19 If Cells(i, j) = "○" Then Sheets("sheet2").Cells(i, 3 + k) = Sheets("sheet1").Cells(1, j) k = k + 1 End If Next End If Next End Sub

その他の回答 (3)

  • toshi_2000
  • ベストアンサー率30% (306/1002)
回答No.3

>毎週月曜日の日付けを入力すると、自動で週間予定ができるようなマクロも作っていきたい 毎週月曜日には、必ず予定がありますか。 それから月毎のシートのは、日付順ですか。

yoshi_u
質問者

補足

予定のない月曜日もあります。 月シートは1日から日付順です。

  • toshi_2000
  • ベストアンサー率30% (306/1002)
回答No.2

まず一つ目。 Sub test() Max = Cells(65536, 1).End(xlUp).Row For i = 2 To Max Sheets("sheet2").Cells(i, 1) = Sheets("sheet1").Cells(i, 1) Sheets("sheet2").Cells(i, 2) = Sheets("sheet1").Cells(i, 2) Sheets("sheet2").Cells(i, 3) = Sheets("sheet1").Cells(i, 4) k = 1 For j = 7 To 19 If Cells(i, j) = "○" Then Sheets("sheet2").Cells(i, 3 + k) = Sheets("sheet1").Cells(1, j) k = k + 1 End If Next Next End Sub

noname#204879
noname#204879
回答No.1

》 各行ごとに○がついている社員名を別のセルに表示 》 したい… 「別のセル」では曖昧過ぎます。何処にどのように表示させたいのか例示してください。 》 自動で週間予定ができるようなマクロも… なぜマクロなのですか?関数では駄目?

yoshi_u
質問者

補足

各行の右端の空白1セルに、参加社員の名前を表示させたいんですが。週間予定にしたとき、全員の名前が横並びになって、○がはいったままでは見にくいので、1セルに名前が表示されるようなセルを作りたいのです。 関数でもマクロでもOKです。