2017-07-11 5 views
1

変数を関数に渡すことが困難です。関数に置かれる変数名は変わるかもしれないので、私は別の変数 "x"を使用しました。 私は何が欠けていますか? "myVar"は配列名と同じではありません(例:arrNames(2)= Nancy)。関数に渡します。VBA変数が関数に渡される

Public Const intContestants = 7 
Public intRandom, myVar, x As Integer 

Public Function arrContestants(x As Integer) As String 

    ReDim arrNames(0 To intContestants) As Variant 

     'set contestant names to assingments in array 
     arrNames(0) = "Kathleen " 
     arrNames(1) = "Bruce " 
     arrNames(2) = "Nancy" 
     arrNames(3) = "Katherine" 
     arrNames(4) = "Debra" 
     arrNames(5) = "Glenn" 
     arrNames(6) = "Andrew" 
     arrNames(7) = "Willy" 

    myVar = arrContestants(x) 

End Function 


Public Sub Roll() 

     intRandom = Int((intContestants - 0 + 1) * Rnd + 1) 
     myVar = arrContestants(intRandom) 
     ActivePresentation.Slides(1).Shapes("Contestant").OLEFormat.Object.Value = myVar 

End Sub 

答えて

0

私が代わりにこのラインの推測している:

myVar = arrContestants(x) 

あなたは意味:

arrContestants = arrNames(x) 
+0

は、私はそれが軽微なものであることを知っていた、ありがとうございました。 – Greg

関連する問題