エクセルツールの利用シーンで多いのが出席の管理ではないでしょうか。出席者の持っているICカードをピッピッとやってもらえば完了!というわけです。一番簡単な出席管理マクロを紹介します。ハンディリーダを使えば、棚卸にも応用できます。
まずはあらかじめ「セルへ入力する」の機能を使って、出席者のIDを取得して名簿を作成しておきます。右側に日付と、出席したら○を付ける欄を用意します。
マクロを書きます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
' 日付の行番号 Public Const ROW_NUMBER_DATE = 2 ' 日付の開始列番号 Public Const COLUMN_NUMBER_DATE_START = 3 Sub Attend(TagID As String, TimeStamp As String) Dim column As Integer column = COLUMN_NUMBER_DATE_START While (Cells(ROW_NUMBER_DATE, column).Value <> "") And (Cells(ROW_NUMBER_DATE, column).Value <> Date) column = column + 1 Wend Cells(ROW_NUMBER_DATE, column).Value = Date Cells(ActiveCell.Row, column).Value = "○" End Sub |
日付の行番号は、2行目に日付の行があるよ という意味です。
日付の開始列番号は、3列目(C列)からが日付の列だよ という意味です。
で、設定画面でマクロを設定します。「右側に読取時刻を入力する」のチェックを外しておいて、「セル発見時にマクロを実行する」に先ほど作成したマクロを指定します。
で、B太郎のタグを読ませてみると...
読みとった日の日付の列が新しく追加され、B太郎のところに○が付きました!
これで何も考えずに起動してタグを読ませるだけで出席管理表が自動作成されていきます。便利ですね。ハンディを使えば、棚卸チェック表としても利用できますよ。