Peter H.
2002-03-04, 02:25 PM
請教各位
有20個人進行抽籤,決定出場順序.其中有幾個人的籤號是固定的.
例如2,5,12這三個號碼是給固定的人,其他的人則隨機亂數抽籤.
請問該如何做
有20個人進行抽籤,決定出場順序.其中有幾個人的籤號是固定的.
例如2,5,12這三個號碼是給固定的人,其他的人則隨機亂數抽籤.
請問該如何做
Peter H. 2002-03-04, 02:25 PM 請教各位 有20個人進行抽籤,決定出場順序.其中有幾個人的籤號是固定的. 例如2,5,12這三個號碼是給固定的人,其他的人則隨機亂數抽籤. 請問該如何做 leonchou 2002-03-04, 08:42 PM 這可引用我之前答另一個有關「亂數不重覆」的問題. 先在A1:A20填入姓名或代號, 在B欄適當的儲存格中 填入 2,5,12, 並將B1:B20命名為「範圍」. 然後執行這個巨集 -- Sub 亂數抽籤() For Each c In [範圍] If c = "" Then Do num = Int((20 * Rnd + 1)) ' 產生 1 到 20 之間的亂數值。 If [範圍].Find(num, lookat:=xlWhole) Is Nothing Then Exit Do Loop: c.Value = num End If Next End Sub 這個原理也很單純: 是先產生亂數存到一變數中, 與範圍內 的數字比對,若沒有重覆的才寫入儲存格中。 Oyazi 2002-03-04, 09:37 PM 我今天下午看到時 也著手寫這個程式 但是我是用比較笨的方法 利用比對的方式 還在修改時 Leon兄就已經把程式放上來了 花了些時間看Leon兄的程式 有一個感想 哪裡可以找到這些VBA裡的物件呀 在EXCEL裡VBA的物件、方法有相當的多 雖然在寫程式前的想法是相同的 就是先產生亂數,填進儲存格前比對已填入的儲存格,若沒有就填入 但是有了這些物件、方法的協助 在程式的撰寫上更加的便捷 真是令人折服 像我們這種半桶水的 您建議去哪裡找這些物件及方法呢? leonchou 2002-03-05, 12:41 PM 我的方法只有一個: VBA on-line help. 從一無所知到融會貫通的步驟 -- 搜尋關鍵字 → 查看說明 → 徹底瞭解 → 靈活運用 多次經驗後, 一些基本的東西自然會記住; 那些記不住的, 只要知道如何查詢Help即可... 當然, 需安裝VBA說明 -- 這是一定要的啦~ ^^ |