fbpx

-線上課程學習平台-

VBA巨集篇-模擬樂透開獎

我的朋友是公司福委,最近為了春酒抽獎活動很傷腦筋,所以我寫了一個模擬大樂透的開獎遊戲
讓電腦自動產生開獎獎號,這下子他可以在公司活動裡大顯身手了…

原先的工作表內容,成這個樣子:
我們來看怎麼完成它…

【操作步驟】

1.先到Excel中的”檔案”功能,開啟”開發人員”的功能選單

檔案>選項>自訂功能區>將開發人員的選項勾選起來

3.在模組中,鍵入以下程式碼(請直接複製貼上)

Sub 大樂透開獎()
    ‘清除舊資料
    Range(“B1:C7”) = “”
    ‘不知道要做幾次的迴圈,要用do loop
    i = 1 ‘設起始值
    Do While i <= 7  ‘跑完7次就停
       Cells(i, “B”) = Int(VBA.Rnd() * 49) + 1 ‘產生1~49的亂數
       ‘在輔助欄C確認值出現的次數
       Cells(i, “C”) = Application.WorksheetFunction.CountIfs(Range(“B1:B” & i), Cells(i, “B”))
       If Cells(i, “C”) = 1 Then  ‘如果確定計數只出現1次, 起始值才可以加1(跑下一個值),不然就要一直跑
          i = i + 1
       End If
    Loop
    MsgBox “開獎完成”
End Sub

上述程式會逐一產生亂數,並確認沒有重覆獎號後向下開獎。

並將此按鈕指定為剛寫好的巨集,之後再修改按鈕的名稱

最後將巨集按鈕名稱改為”大樂透開獎”,就大功告成了

6.要執行此巨集,請按下巨集按鈕

1秒電腦就能開出獎號,畫面如下:

C欄是輔助欄位,用以確認獎號不會重複,之後再設定為白字隱藏起來即可(這裡為方便學習,故先保留)!

工作、生活、玩樂都用得到,而且程式碼短短的,效果卻很強大!先祝我春酒抽獎好運吧!

作者:Excel探險家 Jackie
以學習和分享為樂,熱愛在無窮無盡的Excel裡探索Excel的無限可能!
目標用熱情和數據工具改善生活,讓Excel成為你的專業招牌!


請輸入要搜尋的內容