2017-04-20 4 views
0

私はサイコロを巻くVBAコードを書いています。私はサイコロを持っています。関数ThePoint()は、サイコロの合計が4,5,6,8,9,10と一致するかどうかを調べたいと思っています。そうであれば、intPointをその数に設定します。VBAでプロシージャを使用するための関数の固定変数を返す

私の問題は、プログラムのどこか他の場所でintPointの値を固定数として使用したいのです。たとえば、intPoint = 6の場合、その値6をサブプロシージャに返すだけです。私はThePointを呼び出すことができますが、それからintPointの新しい値を設定します。どんな助けもありがとうございます。

Function ThePoint() As Integer 
    Dim intPoint As Integer 
    Do Until intPoint 
     Select Case RollDice() 
      Case 4 
       intPoint = 4 
      Case 5 
       intPoint = 5 
      Case 6 
       intPoint = 6 
      Case 8 
       intPoint = 8 
      Case 9 
       intPoint = 9 
      Case 10 
       intPoint = 10 
     End Select 
    Loop 
    ThePoint = intPoint 
    Debug.Print ThePoint 
End Function 

Sub test() 
    Dim x As Integer 
    x = ThePoint 
    Debug.Print x 
End Sub 

答えて

0

1D10(10面ダイス)のためのあなたの場合は

Int((upperbound - lowerbound + 1) * Rnd + lowerbound) 

としてあなたRollDice()関数を定義します。今、あなたは同じ出力を持つべき

Function RollDice() 
    RollDice = Int((10 - 1 + 1) * Rnd + 1) 
End Function 

関連する問題