【发布时间】:2016-07-27 15:14:53
【问题描述】:
我正在使用在线教程自学 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中使用定义它的对象。 *.com/questions/22980061/… -
现在您只能在
EquationGenerate()中定义它们。要了解如何全局定义对象,请查看:*.com/questions/21380724/…
标签: vba