IT Knowledge Base

~ Without sacrifice, there can be no victory ~

發佈日期:

Microsoft Excel VBA抽獎程式

01. 疫情下公司Annual Dinner,已經延期再延期不知多少次了。但買好了的抽獎禮物,再不送出去就連保用期也過了。所以,抽獎就換成網上抽,再用Microsoft Teams作現場直播。

02. 網上很容易找到相關的尾牙抽獎程式,而且功能豐富齊備。但想到公司的要求,卻有很多不清楚及不確定因素,要更改現成的,似乎比新做一個更有難度。

03. 沿用20年前用過的Excel VBA,很快就完成基本的設計。

04. 再經三四次改良,就成了今次的版本。

  • Excel設計上,有3個工作表(Sheets)。一個為抽獎獎品及得獎人士;一個為抽獎人士;一個為抽獎人士備份。
  • 程式設計,會根據『抽獎獎品』工作表中,如果抽獎名稱設定為一樣時,便會當此為一次性抽獎數目。此為考慮到,沒有老闆希望對著電腦抽30次吧,但內容是一樣的禮物。
  • VBA執行後,會顯示一個開始畫面,可以放入抽獎的題材。
  • 原設計要求要加入聲效,但想到網上直播時必然出現延誤,所以最後取得此效果。
  • 進入抽獎程底後,當按下『抽獎』按鈕,程式就會在『抽獎人士』工作表中,隨機按獎品數目抽出得獎人士,之後將相關人士名稱刪除。並在顯示得獎人士後,將Excel檔案儲存,以防Excel突然關閉而令抽獎人士資料損失而做成不公平。

  • 『抽獎人士備份』工作表,是用於測試後,可以快捷將內容複製回到『抽獎人士』工作表,再將得獎人士從『抽獎獎品』工作表內刪除,便可以重置抽獎程式。
  • 要執行VBA程底,只要打開Excel並啟用巨集,再執行巨集預設的捷徑『Ctrl + Q』,便會看到描獎程式。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *