プロが教えるわが家の防犯対策術!

現在、社内スケジュールは、次のようなエクセルシートで管理しています。

月ごとに別シート

1行目
a列 日(曜日)
b列 予定
c列 場所
d列 開始時間
e列 終了時間
f列 社長
g列 A課長
h列からm列 A課社員名が1人づつ入っている
n列 B課長
o列から   B課社員名が1人づつ入っている

1日5行

予定がわかり次第、社員が予定名等入力し、参加者のセルに○を入れていきます。会議や出張に出席する社員が誰々かが、わかるようになっています。
1日の予定が多くなり、5つ以上になると、行を挿入して増やしています。

このような、元スケジュール表から、社内打ち合わせ用、週間予定表を毎週作成したいのです。

各予定の参加者名が1セルに表示されたもの、つまり

3日 企画会議 10:00 社長、C社員、D社員

5日 出張   9:00 A課長、E社員

各行ごとに○がついている社員名を別のセルに表示したいのですが、どうすればいいのでしょう。取り急ぎいい知恵をお願いします。

また、毎週月曜日の日付けを入力すると、自動で週間予定ができるようなマクロも作っていきたいと思っています。また、よろしくお願いします。

A 回答 (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
    • good
    • 0

>毎週月曜日の日付けを入力すると、自動で週間予定ができるようなマクロも作っていきたい


毎週月曜日には、必ず予定がありますか。
それから月毎のシートのは、日付順ですか。

この回答への補足

予定のない月曜日もあります。

月シートは1日から日付順です。

補足日時:2006/04/29 08:54
    • good
    • 0

まず一つ目。


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
    • good
    • 0

》 各行ごとに○がついている社員名を別のセルに表示


》 したい…

「別のセル」では曖昧過ぎます。何処にどのように表示させたいのか例示してください。


》 自動で週間予定ができるようなマクロも…

なぜマクロなのですか?関数では駄目?

この回答への補足

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

関数でもマクロでもOKです。

補足日時:2006/04/29 08:53
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!