Excelを使った会議室予約表の作成で、部屋ごとに異なる色で予約時間を塗りつぶす方法を解説します。初心者の方でも簡単にできるように、マクロコードの変更方法を実際のコードを元に説明します。
基本的なマクロの流れ
会議室予約表のマクロでは、まず入力チェックを行い、指定された時間帯が他の予約と重なっていないかを確認します。その後、指定された部屋に対応するセルに色を塗り、予約内容を反映させるという流れになります。
最初に提供されたコードでは、すべての部屋で「水色」に塗る設定となっています。この部分を、各会議室ごとに異なる色を塗るように変更していきます。
部屋ごとの色を変える方法
部屋ごとに色を変えるためには、マクロ内で部屋名に応じて色を設定するコードを追加します。例えば、「会議室1」なら水色、「会議室2」なら薄ピンク、「会議室3」なら薄い黄色にするには、色コードを指定する必要があります。
以下のコードを変更して、色を部屋ごとに変更します。
Sub test()
Dim rng As Range
Dim r As Variant
Dim sc As Long, ec As Long
Dim c As Long
'入力チェック
If WorksheetFunction.CountIf(Range("B1:B5"), "") > 0 Then
MsgBox "未入力の項目があります"
Exit Sub
End If
'日付チェック
Set rng = Range("A1:A" & Cells(Rows.Count, 1).End(xlUp).Row)
r = Application.Match(CLng(Range("B1").Value), rng, 0)
If IsError(r) Then
MsgBox "入力した日付が表にありません"
Exit Sub
End If
'時間チェック
If Range("B4").Value >= Range("B5").Value Then
MsgBox "開始時間 >= 終了時間になっています"
Exit Sub
End If
sc = (Hour(Range("B4").Value) * 60 + Minute(Range("B4").Value)) / 30 - 14
ec = (Hour(Range("B5").Value) * 60 + Minute(Range("B5").Value)) / 30 - 15
If Range("B3").Value = "会議室2" Then
r = r + 1
ElseIf Range("B3").Value = "会議室3" Then
r = r + 2
End If
'ダブリチェック
For c = sc To ec
If Cells(r, c).Interior.ColorIndex <> xlNone Then
MsgBox "予約されています"
Exit Sub
End If
Next c
Cells(r, sc).Value = Range("B2").Value
'部屋ごとの色変更
If Range("B3").Value = "会議室1" Then
Cells(r, sc).Resize(, ec - sc + 1).Interior.ColorIndex = 8 '水色
ElseIf Range("B3").Value = "会議室2" Then
Cells(r, sc).Resize(, ec - sc + 1).Interior.ColorIndex = 22 '薄ピンク
ElseIf Range("B3").Value = "会議室3" Then
Cells(r, sc).Resize(, ec - sc + 1).Interior.ColorIndex = 36 '薄い黄色
End If
End Sub
色コードの設定について
Excelでは、色を設定する際に「ColorIndex」を使います。上記のコードでは、それぞれの会議室に対応する色コードを指定しました。
- 会議室1: 水色(ColorIndex = 8)
- 会議室2: 薄ピンク(ColorIndex = 22)
- 会議室3: 薄い黄色(ColorIndex = 36)
ColorIndexはExcelで事前に決められた色番号であり、必要に応じて調整することができます。色を変更したい場合は、Excelの「色の選択」画面からカスタム色を選び、対応するColorIndexを調べて設定してください。
マクロの実行手順
マクロを実行するための手順は、以下の通りです。
- Excelを開き、Alt + F11キーでVBAエディタを起動。
- 新しいモジュールを追加し、上記のコードを貼り付けます。
- VBAエディタを閉じて、Excelの画面に戻ります。
- 実行するには、Alt + F8を押して、マクロ名を選択して実行します。
まとめ
Excelのマクロを使って、会議室ごとに異なる色を設定する方法について解説しました。上記の方法を使えば、簡単に部屋ごとの色分けができ、視覚的に分かりやすい会議室予約表を作成できます。初心者でもすぐに試せる内容なので、ぜひ試してみてください。

コメント