
No.1ベストアンサー
- 回答日時:
Sub CreateSchedule()
Dim dt As Date
Dim lastRow As Long
Dim i As Long, j As Long
Dim days As Variant
Dim names As Variant
Dim schedule As Variant
Dim ws As Worksheet
Set ws = ActiveWorkbook.Sheets.Add(After:=ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count))
' シートのタイトルを設定
ws.Name = "Schedule " & Format(Date, "yyyy-mm")
ws.Range("A1").Value = "Date"
ws.Range("B1").Value = "Day of Week"
ws.Range("C1").Value = "Name"
' 出力する日付範囲を取得
dt = Range("B3").Value
days = Array("Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat")
lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
' 日付範囲ごとに担当者を取得
For i = 1 To 30
ws.Cells(lastRow + i, "A").Value = dt
ws.Cells(lastRow + i, "B").Value = days(Weekday(dt, vbSunday) - 1)
names = WorksheetFunction.Transpose(Range("C5:C11"))
schedule = WorksheetFunction.Transpose(Range("D5:D11"))
For j = LBound(names) To UBound(names)
If InStr(schedule(j), days(Weekday(dt, vbSunday) - 1)) > 0 Then
ws.Cells(lastRow + i, "C").Value = names(j)
Exit For
End If
Next j
dt = dt + 1
Next i
MsgBox "Schedule created successfully."
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
エクセルの数式で教えてください。
Excel(エクセル)
-
Excelでなぜこのような式をつかっているのでしょうか、行に1,2,3と連番を振るだけなのに
Excel(エクセル)
-
Excel 知恵を下さい。 下記表は、例です。本来の表のデータ量は、1000件以上あります… A列:
Excel(エクセル)
-
-
4
エクセルの設定一覧のようなものは出力できますか? 同じエクセルのファイルを開いた時にチームのメンバー
Excel(エクセル)
-
5
年間仕事用シフトカレンダーに、日勤 夜勤 休み に色分けをした。
Excel(エクセル)
-
6
エクセルの質問です
Excel(エクセル)
-
7
エクセルの参照について教えていただけますでしょうか
Excel(エクセル)
-
8
Excelです。 Excelしてたら 点線?みたいのが出て来ました これは何ですか?どうやったら消せ
Excel(エクセル)
-
9
Excelの関数詳しい方お願いします。
Excel(エクセル)
-
10
Excelで2つの条件のうちどちらかにあてはまるときの数式を教えてください。
Excel(エクセル)
-
11
エクセル/列追加時、合計行の計算式
Excel(エクセル)
-
12
ハイパーリンクの削除について
Excel(エクセル)
-
13
何故割り算なのでしょうか?
Excel(エクセル)
-
14
Excelにて、下記のようなデータを月だけ変えて下にドラックしていきたいです。どうすれば良いですか?
Excel(エクセル)
-
15
Excelで過去の最大値より大の場合、塗りつぶすには
Excel(エクセル)
-
16
エクセルの関数を教えてください
Excel(エクセル)
-
17
勤務表の中抜け集計の関数を教えてほしいです。
Excel(エクセル)
-
18
エクセル 作業効率化
Excel(エクセル)
-
19
エクセルで値ではなく関数を参照する方法
Excel(エクセル)
-
20
エクセルの複数シートの保護を一括でする方法を教えてください(編集したいセルあり)
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
VBAで条件によってシート見出し...
-
5
EXCELでワークシートを開いたら...
-
6
マクロ 各シートの決められた位...
-
7
マクロを複数シートに実行する...
-
8
メッセージボックスでシート名...
-
9
エクセルの複数のワークシート...
-
10
エクセルで回数をカウントする...
-
11
エクセルでシートの並び替えで...
-
12
エクセルを開いたとき常に同じ...
-
13
マクロを特定の複数シートで実...
-
14
1ヶ月分の日付を一度に出す方法...
-
15
ワークシートそのものの色を変...
-
16
複数シートからデータを拾って...
-
17
エクセルファイルを開く時、常...
-
18
エクセルの選択範囲以外を削除...
-
19
エクセルでシートの色がグレー...
-
20
VBAでブックを非表示で開いて処...
おすすめ情報
公式facebook
公式twitter