Board logo

標題: 請問我想排除隨機號碼該怎編寫 [打印本頁]

作者: jonlylovek    時間: 2010-11-28 15:21     標題: 請問我想排除隨機號碼該怎編寫

Private Sub Worksheet_Activate()
For i = 1 To 6
    工作表2.Cells(i, 1).Value = ""
Next
Dim A(6)
For i = 1 To 6
    A(i) = WorksheetFuntion.RandBetween(1, 42)
Next

For i = 1 To 6
    工作表2.Cells(i, 1).Value = A(i)
Next

End Sub

這是六個號碼隨機選號

若我接下來要編寫其中一個號碼手打自選,其他五個號碼不重複於自選號碼,且按F9能自動更新隨機號碼,該怎麼做。
作者: oobird    時間: 2010-11-28 17:34

Private Sub Worksheet_Calculate()
Do
[a2:a6] = "=RandBetween(1, 42)"
Loop Until [sumproduct(1/countif(a1:a6,a1:a6))] = 6
End Sub
作者: jonlylovek    時間: 2010-11-30 10:49

感謝oobird版大的協助
當我複製上去 他出現一個執行階段錯誤13 型態不符合
當我去除這段敘述 他出現執行階段錯誤424
請問我該如何解決

我想將a1:a6全隨機
b2:b6隨機且排除手打自選b1
c3:c6隨機且排除手打自選c1.c2
d4:d6隨機且排除手打自選d1.d2.d3
e5:e6隨機且排除手打自選e1.e2.e3.e4
f6隨機且排除手打自選f1.f2.f3.f4.f5
且按下f9能使隨機號碼更新

由於小弟剛入門 再尋求解決問題方法 希望大家能指導 感謝
作者: Hsieh    時間: 2010-11-30 22:19

回復 3# jonlylovek
1. 出現錯誤原因應是你沒有引用分析工具箱增益集
而刪除該行後的程式又會出現因儲以0造成錯誤
請先勾選
工具/增益集
分析工具箱
然後再執行程式碼
2. 你在重算時也要避開手動輸入的值嗎?
作者: jonlylovek    時間: 2010-12-1 02:02

嗯嗯 謝謝版主幫忙
重算的時候也要避開手動輸入值




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)