エクセルVBA抽選ソフト【重複なし】です。
無料でダウンロードができ、使い方の説明をしています。
抽選参加人数は少人数から数万人ほどの大人数まで対応可能です。
こんにちは、じゅんぱ店長(@junpa33)です。
今回のテーマは、エクセルVBA抽選ソフトです。
応募者や申し込み件数の中から懸賞当選やプレゼントする人を選ぶ時の「抽選ソフト」についてです。
抽選作業はイベント企画者や担当者にとっては、色んな面で頭の痛い作業ではないかと思います。
抽選ソフト作成の記事編成
- エクセルVBA抽選ソフトの使い方とダウンロード
- エクセルVBA抽選ソフトの作成手順
コンテンツ
無料DL エクセルVBA 抽選ソフト【重複なし】の特徴
この無料DLソフトは、エクセルVBAで組み立てています。
処理人数としては少人数から大人数の参加者まで利用することが出来ます。
例えば人数として「1000人の抽選会の想定」で動かした時のPriSc(プリントスクリーン)はこんな↓感じです。
ID番号が付けられた参加者リストがエクセルやCSVで作成されていることです。
当選者をそのID番号で表示します。
参加者の人数に応じた抽選表方眼マスを作成し、参加者のID番号をランダムにはめ込んでいきます。
その抽選表を基に、各賞ごとに抽選し当選の番号は点灯します。
重複当選は禁止になります。
最初に当選した賞が優先され、再度賞に当選しても無効となります。
上位賞から抽選をするか、下位賞から始めるか宣言しておきましょう。
このエクセルVBAソフトと抽選参加者リストはID番号で紐づけられますので、両方の末尾ID番号は一致していなければいけません。
当選者数の多さによっては、Lookup関数やMatch関数でマッチングのエクセルデータ処理を行うことをお勧めします。
エクセルVBA抽選ソフトの無料ダウンロード
『抽選での当選者決定作業』をデスクワークで行っているとき、
「誰も見ていないから・・・」って応募者から思われてるんじゃないかな?
と、要らない心配をしながら抽選作業を進める担当者さん、お疲れ様です。
以前は、自分もそうでした。
抽選しているところをみんなに見てもらっても、
エクセルの表にダラダラ小数点の変な数字が並んでいくだけで、
「はいこの人、当選です!」と言っても「え?なにが」って、信じてもらえなさそうで・・・
そんな方々、もう大丈夫です。
このエクセルVBAソフトを使えば、お天道様の下でも堂々と抽選会が開けます。
特に「誰も見ていないとはいえ、抽選は公正にやりたい」と思っている方には朗報です。
使い方の説明の前にこちらからエクセルVBA抽選ソフト【重複なし】をダウンロードしてください。
こちら↓でダウンロードすることが出来ます。
ただし、こちらの方はVBAコードを保護していますので、使う側でのVBAコードのカスタマイズを行うことはできません。
ここの記事説明とダウンロードしたソフトで、早々に利用していただくことが出来ます。
エクセルVBA抽選ソフト
このソフトはご自分で業務でお使いいただくのはフリーですが、
転載や転売については許可しておりませんので、ご使用にならないよう固くお断りいたします。
違法ルートで入手された場合は、著作権に抵触します。
This software is free to use for your own business,
Reproduction or resale is not permitted, so please refrain from using it.
It violates copyright if it is obtained through illegal routes.
配布ルールに従ってのご利用をお願いします。
もちろん4人程度の少人数からでも普通に抽選ソフトは動きます。
何万人というような大規模な抽選会にも対応できる設計・組み立てをしています。
重量系の配列変数などはほぼ使っていません(ちょっと使いました)ので、まずまず軽量に仕上がったかなと思っています。
平易なコードばかりを使っていますので、修正やカスタマイズしていただき易いと思います。
エクセルVBA抽選ソフトの使い方
使い方について、ユーザーフォーム「当選者選定NAVIGATOR」(抽選ナビ)の説明を行っていきます。
ダウンロードと解凍
ダウンロードボタンをクリックして、落ちた圧縮ファイルを解凍してください。
解凍したフォルダにエクセルファイルが入っていますので、(ウイルスチェック後)ダブルクリックで開いてください。
操作はすべてユーザーフォームで行う
抽選の操作は、すべてユーザーフォーム「当選者選定NAVIGATOR」(抽選ナビ)で行います。
上から順に操作を進めて行きます。
抽選名称、参加人数など
「抽選名称」、「参加人数(口)」、「開催日時」
それぞれ、項目に入力してください。
当選確率2倍とか3倍とかを謳っている場合があるかと思います。
当選確率の計算方法については、考え方がいろいろありますが、
「商店街の歳末大売り出しのガラガラ」と同じ考え方で、ここでは、
その人が2回抽選すると当選確率2倍、3回抽選だと確率3倍というルールに従います。つまり、その分参加人数(口数)を増やすことで対応してください。
抽選名称復旧 ボタン
ユーザーフォーム「選定ナビ」がリセットされると、入力してあった項目がすべて消去されます。
入力した項目がバックアップされていた場合は、
そのデータから「設定ナビ」の方へ入力データを戻します。
このボタンで、「抽選名称」、「参加人数(口)」、「開催日時」が復元されます。
抽選表SET ボタン
抽選表SETボタンは、参加人数(今回は1,000人) 1から1.000までの数字を
縦と横、計算された方眼のマスに一つづつ数字を、無作為でランダムで、はめ込まれていきます。
つまり
このステップで、参加者は自分の番号で、方眼マスの中で無作為に場所取りを行うということです。
この1,000人分の方眼マスはタテ33行、ヨコ31列、マイナス23マスの設計になっています。
参加人数によって、ソフトの方で自動的に方眼マスの大きさが設定されます。
当選結果はこの参加者の番号(ID番号)で表示されます。
賞名など
賞名の項目を入力します。
「一位賞名」と「本数」、「二位賞名」と「本数」、「三位賞名」と「本数」、「四位賞名」と「本数」、「五位賞名」と「本数」、「六位賞名」と「本数」
設定している当選賞を入力します。未定部分は空白欄でもOKです。
当選本数が「空欄」の場合は自動的に0設定され、その賞についての後のボタン操作が無効になります。
賞名のテキストボックスは、デフォルトで「(仮)1位賞、(仮)2位賞、(仮)3位賞・・・」と入力されています。
空白にセットしても次のアクションで、デフォルトに戻るように設定されています。
抽選項目復旧 ボタン
ユーザーフォーム「選定ナビ」がリセットされると、入力してあった項目がすべて消去されます。(Excelの仕様です)
入力した項目がバックアップされていた場合は、
そのデータから「設定ナビ」の方へ入力データを戻します。
このボタンで、「1位賞名から6位賞名」、「1位の本数から6位の本数」が復元されます。
抽選項目復旧ボタンを押すと、メッセージボックスが開きます。
復元内容の選択が行えます。
この復元の前に一度でも「抽選項目更新」を行っていた場合は、
今まであった項目を復元するか、一つ前にあった項目を復元するかを選択できます。
復元後は、必ず「抽選項目更新」ボタンを押して項目を確定させてください。
抽選項目登録 ボタン
選定ナビに入力した抽選項目を変数に代入し、「抽選会場シート」に項目を表示します。
「抽選項目BUシート」に抽選項目の内容のバックアップを行います。
このバックアップが、「抽選項目復旧」のデータにも使われます。
「抽選会場シート」に項目を表示
「抽選項目BUシート」に内容のバックアップ
抽選項目更新 ボタン
抽選項目登録後に抽選内容を変更した場合に使用します。
抽選を開始しています。
抽選途中で、都合により1位賞名「1等賞」を取りやめ「特賞」に変更することになりました。
1位賞名を「特賞」に変更して「抽選項目更新」ボタンをクリックします。
すべての表示が「特賞」に変更されました。
抽選途中の場合、「1等賞」はその後「特賞」として引き継がれます。
「5等賞」の賞名をとりあえず白紙に戻すので、項目欄を「空白」にしました。
「抽選項目更新」ボタンをクリックします。
「空白」でセットしましたが空白は認められずデフォルトの「(仮)5位賞」で仮登録されました。
抽選途中だった「5位賞」はその後「(仮)5位賞」として引き継がれます。
(仮)の賞名は、正式名が決定されたら項目更新をしておくことをお勧めします。
デフォルトの(仮)〇〇賞は、文字色がグレーになっていますが、
このソフトの設定で、「(仮)が付いている文字列」の賞名はグレー色になる設定にしています。
『ほぼ決まりだけどまだなので(仮)』という様なネーミングにすると、識別のためのグレー色にすることが出来ます。
何の問題もありませんので、必要な部分の本数を修正して「抽選項目更新」ボタンを押してください。
全体の抽選途中で、抽選が終了した「3等賞」の当選本数を「2本から5本」に変更します。
「抽選項目更新」ボタンをクリックします。
すでに決定している2個口に追加して未決数3が加えられました。
抽選途中の時と同様に、終了後も当選本数を追加して抽選を復活させることが出来ます。
未決数は、あと何回抽選可能かを表示しています。
未決数が「0」になると抽選作業そのものが停止します。
「抽選項目BUシート」に抽選項目更新の内容のバックアップを行います。
このバックアップが、「抽選項目復旧」のデータにも使われます。
抽選方法 各ボタン
各賞の抽選方法については、それぞれの賞単位で行います。
- 一回づつの単発抽選
- その賞の全ての本数を一度に抽選する連続抽選
を搭載しています。
また、
- 選定ナビで当選本数が0本の賞は抽選ボタンが無効になっています。
- 当選未決数が「0」になった賞は抽選ボタンが無効になります。
上位賞は、当選本数も少ない場合が多いので、
一度にその当選本数を抽選してパッと終わらせるのではなく、一本づつじっくり抽選するという方法をとることが出来ます。
逆に、末等賞は当選本数も多いので、一度にすべてパッと抽選できる連続抽選を行った方いいかもしれません。
イベント的に、
例えば当選10本の場合、はじめは場の空気を盛り上げるために、
一本づつ3本まで単発抽選を行って、
後は連続抽選で7本一度に行うということもできます。
抽選の公平性(無作為性)について
最初に参加人数分の番号札が、無作為に抽選表(方眼)に並べられます。Randomizeでパターン化を防御しています。
賞毎に抽選を行いますので、単発抽選を使えば、最大数「抽選表1回 +総当選本数 x 20回点滅」のRandomizeによる乱数発生で抽選を行えます。
この説明記事の例で言えば、【抽選表1回 + 総当選本数(12本)x 20回点滅】で最大240回の乱数発生で抽選することが出来ます。
抽選結果を保存 ボタン
「抽選会場シートのA列B列C列」を「当選者シート」にコピー保存します。
イベントコントロール
このソフトは、何度も乱数を発生させて抽選していきます。
その中で、「重複当選」ということも発生してしまいます。
「重複当選」はこのソフトでは禁止項目ですので排除することになりますが、
発生した時にメッセージを表示するかどうかを選択できるようにしています。
重複当選については、最初に当選した賞が優先されます。重複の中で選択することは出来ません。
上位賞から抽選して当選すれば、それ以降当選は排除されます。
逆に下位で当選すれば、それ以降上位で当選することはありません。
イベントとして抽選を見せるための表示オプションです。
抽選スピード
点滅回数が多くなるにつれて点滅スピードが遅くなります。
- 「L」・・・150ミリ秒x点滅回数
- 「M」・・・90ミリ秒x点滅回数
- 「H」・・・45ミリ秒x点滅回数
点滅回数
何回目の乱数発生で当選させるかを変更できます。
- 「L」・・・20回
- 「M」・・・10回
- 「H」・・・5回
乱数発生から次の乱数表示までのタイミングをコントロールします。
抽選スピード
- 「L」・・・300ミリ秒
- 「M」・・・200ミリ秒
- 「H」・・・100ミリ秒
強制初期化 ボタン
強制的にすべてのシートを初期化(デフォルト状態)にします。
保存しておきたいものは、別のエクセルBOOKに保存しなければなりません。
無料DL エクセルVBA 抽選ソフト使い方 のまとめ
エクセルVBA抽選ソフトのダウンロードとその使い方を説明してきました。
イベントなどでの抽選方法で苦心されている担当者の方も多いと思います。
何かの助けになればいいかなと思います。
参加人数については、ほんの少人数からウン十万人まで対応できると思います。
ご使用になる環境、特にパソコンスペックにも依存するところがありますので、
一律にどうとは言えませんが、一度、使用予定のPCで試してみてください。
104万人の抽選状況のプリントスクリーンはこんな感じです。
参加者100万人の抽選表のセットアップには、
シートがデフォルトの状態から始めて、「2分39秒」かかりました。
13世代のCore-i5のPCを使用した時は「41秒」でした。
参加者のMAX人数は、プログラムの作成手法上「1シートの最大行数」に依存しますので、約104万人ほどになります。
エクセルVBAを独習するのに参考書は欠かせません。 参考書選びは自分に合った「相棒」にできるものを選んでいきたいです。
エクセルVBAの独習でおすすめ参考書を7冊選ぶ。良書との出会いは大切です今回の記事はここまでです。 最後までご覧いただき有難うございました。
<記事内容についての告知>
VBAコードの記述記事においては、その記述には細心の注意をしたつもりですが、掲載のVBAコードは動作を保証するものではりません。 あくまでVBAの情報の一例として掲載しています。 掲載のVBAコードのご使用は、自己責任でご判断ください。 万一データ破損等の損害が発生しても当方では責任は負いません。
アンケートでポイ活しよう!!
アンケートに答えれば答えるほど ”使える” ポイントがたまります。