Excel – 亂數序號產生巨集

每一兩個月,我們都要進行排班表的儀式,但因為班數常常剛好不會是整數,所以會以抽籤的方式來決定誰要排哪種 course,傳統的做法是弄幾張小紙片,簡單做個籤,大家抽一下,老實說沒幾個人也不會太難執行,但有時候是因為要找紙,總是得花一些額外的時間,所以決定在 Excel 上弄個巨集來加速這個動作。

實際作用方式

操作方法:把需要抽籤的儲存格框選起來,而後以快速鍵的方式呼叫巨集執行,會依亂數的方式產生各組籤的序號。

安裝方式

目前測試的運作環境是在 Windows XP + Office 2007。巨集的標籤是擺在「開發人員」的標籤裡面,如果沒有出現,要先進入 Excel 選項中開啟。

▼【1. 進入 Excel 選項】
1. 進入 Excel 選項

▼【2. 開啟「開發人員」索引標籤】
2. 開啟「開發人員」索引標籤

進入巨集設定視窗,增加一新巨集並填入原始碼,以及設定操作快速鍵。

▼【3. 在「開發人員」標籤中打開「巨集」設定視窗】
3. 在「開發人員」標籤中打開「巨集」設定視窗

▼【4. 新增一巨集後,加入原始碼】
4. 新增一巨集後,加入原始碼

原始碼如下:

▼【5. 在巨集選項中設定快速鍵】
5. 在巨集選項中設定快速鍵

其他注意事項:

▼【6. 儲存檔案時,要將檔案類型改為「Excel 啟用巨集的活頁簿」】
6. 儲存檔案時,要將檔案類型改為「Excel 啟用巨集的活頁簿」

▼【7. 重新開啟檔案如果無法執行,檢查「信任中心」中的「巨集設定」是否為「啟用所有巨集」】
7. 重新開啟檔案如果無法執行,檢查「信任中心」中的「巨集設定」是否為「啟用所有巨集」

說明

因為需要抽序號籤的人數不見得會固定,如果增加某一個特定欄位來輸入這個設定似乎會增加一些使用上的不便,以自動偵測可能的欄位也有實作上的困難,所以便改用選取範圍的方式來操控。另外,採用選取的儲存格這樣的方式,也可以搭配 Ctrl 鍵來達成多重選取的功能,實務上可能更為方便些。

實際在算亂數大概只要幾 ms 的時間,但為了造成視覺上的一種抽籤的效果,所以讓亂數運算跑了 50 次,大約 1–2 秒鐘(根據需要產生的亂數多寡不同)後再輸出結果。

Excel 對於巨集的執行,預設的安全性設定是偏高的,除了在儲存檔案時要選用「Excel 啟用巨集的活頁簿」這種檔案類型外 (Fig 6),信任中心中也必須選用「啟用所有巨集」(Fig 7),但這有可能造成日後執行到不安全的巨集的風險,請務必自行注意。