訪問介護のシフト表マクロ、途中経過報告

介護と暮らし

どうも、訪問介護のシフト管理に頭を抱える私です。
「もっと安く・楽にやりたい!」って思ったら、気づいたらAIと格闘することになってました。
最初は「エクセル関数でいけるやろ」とか甘く見てたけど、どうやらマクロじゃないと無理臭い…。
難しい(笑)


① 予定表マスタを作る

まずは元データを用意します。
「予定表マスタ」っていうシートに、最低限これだけ入れればOK:

  • 日付
  • 時間(開始・終了)
  • 利用者名
  • ヘルパー名
  • サービス内容

「ここから先、マクロで自動化できるぜ!」っていうスタートラインですね。
作るのめんどいけど、これがないと始まらない。


② コード一例

たとえば「ヘルパーAさん」の予定をカレンダーに反映する部分はこんな感じ:

For i = 2 To lastRow
    If wsMaster.Cells(i, "G").Value = "ヘルパーAさん" And wsMaster.Cells(i, "A").Value = cellDate Then
        wsCalendar.Cells(i, j).Value = wsMaster.Cells(i, "F").Value & " : " & _
                                       Format(wsMaster.Cells(i, "C").Value, "hh:mm") & "-" & _
                                       Format(wsMaster.Cells(i, "E").Value, "hh:mm")
    End If
Next i

「ヘルパーAさんの予定を自動でカレンダーに反映する」部分です。
ほかのヘルパーも同じ要領でOK。

これだけで「おおー、自動になっとる!」って感動できます(笑)。
※このコードは途中経過用です。時間が重なった場合や複数予定はまだ反映されません。


③ 貼り方・使い方

手順はこんな感じ:

  1. Excelを開く
  2. Alt + F11 でVBAエディタを開く
  3. 「標準モジュール」にコピペ
  4. 実行ボタンをポチッと押す

これでカレンダーに予定が反映されます。
「え、ほんまに動いた!」ってなる瞬間が最高。


④ 反映のさせ方・確認

マクロを実行すると、ヘルパー・利用者ごとにカレンダーが自動生成されます。
例:「ヘルパーAさんカレンダー」にはこんな感じで反映:

  • 利用者名 : 開始時間-終了時間 : サービス内容
  • 複数予定が重なる場合は / で区切って表示

列幅や行高さ、枠線も自動調整済みなので見た目もスッキリ。
ここまでできると「やった!進んだ!」ってなる。


⑤ 途中経過

正直ここから先、迷子です(笑)

  • 時間や日付の一致チェックで手が止まる
  • 複数予定が重なった場合の表示で悩み中
  • 曜日や枠線の細かい見た目調整も思ったより手間

でも、12時間格闘してここまで形になったのは自分を褒めたい。
完成すれば、毎月のシフト作りがぐっと楽になるはず。

今日もまたAIと格闘しながら試行錯誤は続きます…!
「どうしろっちゅーねん!」って叫びながらも、地味にワクワクしてる自分がいる(笑)。


コメント

タイトルとURLをコピーしました