top of page

​タグ一覧

配列処理(73)

階層化フォーム(33)

ファイル操作(28)

開発事例(22)

シート・セル操作(18)

図形操作(13)

コード自動生成(10)

ユーザーフォーム(9)

文字列操作(8)

設計思想(7)

開発効率化(6)

数学(6)

GAS(5)

アニメーション(5)

技術解説(4)

講座実施報告(5)

イミディエイトウィンドウ(4)

Googleスプレッドシート(4)

副業(4)

クリップボード(4)

条件付き書式(4)

その他(4)

ココナラ(3)

小説(3)

HTML(3)

JavaScript(3)

OneDrive(2)

イベントプロシージャ(2)

Enum(2)

PDF(2)

フリーランス(2)

リスキリング(2)

Outlook(2)

介護(2)

Discord(2)

シフト表(2)

LookerStudio(2)

日報(2)

カレンダー(2)

罫線(2)

パズル(2)

小ネタ(2)

コード解説(2)

クラスモジュール(2)

ステータスバー(1)

コード解析(1)

バックアップ(1)

可変長引数配列(1)

ブック処理(1)

スクレイピング(1)

スプレッドシート(1)

coconala(1)

リボン登録マクロ(1)

QRコード(1)

実行予約(1)

給与計算(1)

VBA不使用(1)

リボン(1)

超勉強会(1)

スピログラフ(1)

図名描写(1)

連想配列(1)

溶接ロボット(1)

保育士(1)

楽天市場(1)

経理(1)

医療(1)

文書作成(1)

発注書(1)

ショートカット(1)

WebAPI(1)

色操作(1)

スーパー開発ショートカット(1)

ライブラリ処理(1)

放課後等デイサービス(1)

児童福祉支援(1)

学校(1)

UI(1)

CAD(1)

カーソル操作(1)

【開発事例】Excel VBA × QRコードによるイベント出席管理システム

更新日:1月7日

※掲載している内容・資料は、実際の案件に基づきつつ、個人・企業が特定できないよう内容を一部加工・再構成したものです。守秘義務に配慮し、実際の顧客情報等は一切含まれておりません。

【開発事例】Excel VBA × QRコードによるイベント出席管理システム

はじめに|Excel VBA × QRコードによるイベント出席管理


イベント運営において、「誰が・いつ来場したのか」 を正確に把握することは非常に重要です。

特に

  • 100名以上が参加するイベント

  • 入退場の時間管理が必要

  • 複数受付で同時処理したい


といったケースでは、手書き名簿や単純なExcel入力では限界 があります。


本記事では、Excel VBA と QRコードを活用して構築した「イベント出席管理システム」 の開発事例をご紹介します。


このシステムで解決した課題


従来の課題

  • 手入力による 入力ミス・記録漏れ

  • 受付が複数あると データが分散

  • 後から集計するのに 時間がかかる

  • 誰がどの受付PCで入力したか分からない


求められていた要件

  • QRコードで 即時・正確に出席登録

  • 複数台PCで 同時運用

  • データを リアルタイムで統合



システム全体構成

・QRコードをスキャンには市販のスキャナーを使用

・QRコードをスキャンするPCは複数台用意して、スキャンデータを別々のExcelブック(出席管理用.xlsm)にまとめる。

・出席管理用.xlsmから出席データをxlsxデータ「出席データ.xlsx」として出力して、OneDriveでリアルタイムで共有し、別端末のPCから統合用のエクセル「出席データ統合用.xlsm」にて全出席者のデータとして各xlsxデータを統合する。

・統合データはxlsxデータ「統合データ.xlsx」として定期的に出力する

システム全体構成

【基本技術】

本案件で必要な技術要素をまとめる

・QRコードスキャナーのスキャンデータのExcel側での取得

・OneDriveでのファイル共有

・外部ファイル(xlsx)の操作、データ取得

・Application.Ontimeを利用して指定時刻にマクロ実行


【レイアウト 出席管理用.xlsm】

出席管理用.xlsmのレイアウトは次の通り


「設定」シート

・集計対象列で「来場1」「来場2」「来場3」かを選択

・来場2の場合は時間帯によって3つ別々の列に出席登録されるので、その開始時刻、終了時刻を設定する

・「出席データ.xlsx」を1時間おきに自動出力するが、それを毎時○分かを設定する。

・出力する「出席データ ○○.xlsx」の名前の「○○」にPC名を入れるので、その入力部分

・出席者ごとにメールの通知機能の設定

【レイアウト 出席管理用.xlsm】

「集計」シート

・「スキャナーフォーム起動」でQRコードを常時スキャンして処理を実行するためのユーザーフォームを起動する

・「来場1」「来場3」の場合はD,L列にスキャンした出席者番号の行に現在時刻が自動的に入力される

・「来場2」の場合は、「設定」シートで設定した時刻範囲に応じて、G,I,K列にスキャンした出席者番号の行に現在時刻が自動的に入力される

「集計」シート

スキャナーフォームは次のような感じ

ユーザーフォームのテキストボックスに入力することで、常時手前に表示することで処理を安定化ができる。

ちなみに「スキャンデータをセルに直接入力する」ようにするとイベント処理や、入力位置が不安定になったりする問題が発生するので不採用

スキャナーフォーム

参考に来場1に出席データが入力されるとこんな感じ

来場1に出席データが入力

来場2の場合

来場2に出席データが入力

「集計初期化」ボタンを押すと、必ずYes/No確認画面が表示される

誤って押して消してしまうことがないようにするための仕様

「集計初期化」ボタンを押す

【レイアウト 出席データ統合用.xlsm】

「設定」シート

・処理対象の「集計データ(出席データ)」の保存先のフォルダパスを指定

・出力する「統合データ.xlsx」の保存先フォルダならびに移動先フォルダを指定する

(OneDrive上に直接保存する処理ができないことがあるので、デスクトップ上に保存→移動で処理を実現している)

・データ統合処理を毎時○分で実行するかを設定して、「保存予約実行」で予約する

・「統合処理と保存(手動)」は一回の統合処理を手動で行う

レイアウト 出席データ統合用.xlsm

【実行確認】

まずファイルの構成は次のような感じ

・「集計データ」フォルダの中に各「出席管理用.xlsm」から出席データが出力される

・「統合データ」フォルダの中に各実行時刻ごとに「出席データ統合用.xlsm」から出力された「統合データ.xlsx」が溜まっていく

実行確認


「出席データ.xlsx」から「統合データ.xlsx」が生成されると次のようになる。

「出席データ.xlsx」から「統合データ.xlsx」が生成

Excel VBAによる業務自動化・ツール開発をご検討の方へ

​"脱Excel"の前に、現状のExcelの潜在能力を120%発揮してみませんか?

Softex-Celware

​インボイス登録番号:T5810983887134

  • Facebook
  • Twitter
  • YouTube

©2023 softex-celware。Wix.com で作成されました。

bottom of page