我在教自己的VBA使用在線教程。使用我迄今爲止學到的知識,我做了一個簡單的BODMAS問題生成器。但是我無法弄清楚如何計算生成的問題的答案。以下是我所做的:學習VBA - BODMAS生成器
Dim Indicator As String, Equation As String, IndicatorNum As Integer, RandNum As Integer, Answer As Integer
Type EqnStatements
Statement1 As Integer
Statement2 As Integer
Statement3 As Integer
End Type
Type Indicators
Indicator1 As String
Indicator2 As String
End Type
Private Sub IndicatorGenerator()
IndicatorNum = Int(Rnd * 4)
Select Case IndicatorNum
Case Is = 0
Indicator = "+"
Case Is = 1
Indicator = "-"
Case Is = 2
Indicator = "*"
Case Is = 3
Indicator = "/"
End Select
End Sub
Private Sub StatementGenerator()
RandNum = Int(Rnd * 10 + 1)
End Sub
Sub EquationGenerate()
Dim Eqn As EqnStatements, Ind As Indicators
StatementGenerator
Eqn.Statement1 = RandNum
StatementGenerator
Eqn.Statement2 = RandNum
StatementGenerator
Eqn.Statement3 = RandNum
IndicatorGenerator
Ind.Indicator1 = Indicator
IndicatorGenerator
Ind.Indicator2 = Indicator
Equation = Eqn.Statement1 & " " & Ind.Indicator1 & " " & Eqn.Statement2 & " " & Ind.Indicator2 & " " & Eqn.Statement3
Cells(2, 3) = Equation
End Sub
Sub AnswerShow()
Answer = Eqn.Statement1 & Ind.Indicator1 & Eqn.Statement2 & Ind.Indicator2 & Eqn.Statement3
Cells(3, 3) = Answer
End Sub
第一個主Sub工作正常,併產生輸出。當我運行第二個主子(AnswerShow)時,出現錯誤:「需要對象」。我不確定如何使用存儲在變量中的值來計算公式。
看一看這個,找出你如何使用一個新的定義它的另一個'Sub'對象。 http://stackoverflow.com/questions/22980061/excel-vba-object-sub-call-with-2-object-parameters-gives-compile-error-expected –
現在你只能在'EquationGenerate()中定義它們' 。爲了學習如何全局定義對象,看看這個:http://stackoverflow.com/questions/21380724/best-practice-for-creating-a-public-object-in-excel-vba –