
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で質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 添付写真上のExcelシートのように時間と曜日ごとに担当者が振り分けられているシートがあります。 例 1 2023/03/08 13:02
- Excel(エクセル) VBA ふたつの同じ様式シートのセルをコピーしたい 2 2023/03/08 15:28
- Excel(エクセル) Excel シート複数 金額日計表と日付 簡単にシートコピーしたら前日の残高と日付を変更させたい 1 2022/07/15 22:10
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/06/04 09:39
- Excel(エクセル) エクセル バーコード作成で他のシートを参照するには? 2 2023/05/03 16:57
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/06/01 14:45
- Visual Basic(VBA) VBAマクロでシートコピーした新シートにコピー元シートとの計算式の入れ方を教えて下さい。 5 2022/11/20 09:48
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/03/01 15:44
- Excel(エクセル) Excelについて 4 2023/03/02 09:24
- Visual Basic(VBA) エクセルのマクロについて教えてください。 5 2023/06/02 08:44
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルのVBAで集計をしたい
-
【マクロ】【相談】Excelブック...
-
VBAでシート毎に演算した項目を...
-
コマンドボタンがデザインモー...
-
Excelマクロ/選択したシートを...
-
一回のループで次のオブジェク...
-
エクセル2010 マクロを実行す...
-
エクセルでシフト管理表を作り...
-
Excel VBA 全シートの指定範囲(...
-
VBA ワークシートオブジェクト...
-
Excelで,特定のシートを開いた...
-
Excel VBAで他のシートを印刷す...
-
ExcelのSheetに作られたMacro1...
-
エクセルで可能ですか??
-
【マクロ】特定シートから値を...
-
マクロ 現在アクティブになっ...
-
VBAマクロについて教えてく...
-
任意のファイルを開くには
-
Excel VBA で別シートにコピペ。
-
Excelで1つのセルに3つの情報を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コマンドボタンがデザインモー...
-
エクセルのVBAで集計をしたい
-
エクセルを開いたとき常に同じ...
-
マクロを複数シートに実行する...
-
【 Excel】シートの見出しに自...
-
Excelのマクロの呼び出し元を知...
-
EXCELでマクロを使わずに図形の...
-
マクロ 各シートの決められた位...
-
エクセルでシートの並び替えで...
-
EXCELのエラー
-
EXCELでワークシートを開いたら...
-
メッセージボックスでシート名...
-
マクロを特定の複数シートで実...
-
VBA シート名を先月の名前に...
-
マクロで複数シートに条件付き...
-
エクセルで、マクロボタンの表...
-
VBAで条件によってシート見出し...
-
【Excel】複数あるシート上の住...
-
エクセルVBAでcmbBoxのプロパテ...
-
エクセルのチェックボックス
おすすめ情報