Vba 变量定义中的值是否明显不正确?
刚接触VBA,而且很糟糕,所以请温柔一点 下面的代码为Long类型变量“EIa”提供了一个值。后来我在代码中得到了一堆奇怪的结果,所以我加入了一些调试。打印行以查找我的问题,并注意到当我调试时。打印变量EIa,我得到0,但如果我调试。精确打印定义EIa的表达式,我得到了预期值。下面的代码,有什么想法吗Vba 变量定义中的值是否明显不正确?,vba,variables,definition,Vba,Variables,Definition,刚接触VBA,而且很糟糕,所以请温柔一点 下面的代码为Long类型变量“EIa”提供了一个值。后来我在代码中得到了一堆奇怪的结果,所以我加入了一些调试。打印行以查找我的问题,并注意到当我调试时。打印变量EIa,我得到0,但如果我调试。精确打印定义EIa的表达式,我得到了预期值。下面的代码,有什么想法吗 'Calculate mA1: '*************************************************************************
'Calculate mA1:
'****************************************************************************************************
EIa = Etimber * ImatA / (Etimber * (ImatA + ImatB + ImatC + ImatD))
Debug.Print "EIa = "; EIa
Debug.Print "EIa = "; Etimber * ImatA / (Etimber * (ImatA + ImatB + ImatC + ImatD))
mA1 = 12 * 0.5 * (q1PSF * EIa) * bMat * LcantiA ^ 2 '12 puts this into lb-in
If LmatSymA = 0 Then
fbA1 = 0
Else
fbA1 = (mA1 * (0.5 * tMatA) / ImatA)
End If
表达式的结果是一种分数、浮点数,但由于您将EIa定义为Long(一个大整数),它在赋值时被截断为零。
请参阅。所有变量都是长类型。从即时窗口复制/粘贴:EIa=0 EIa=0.333BOOM!好的,谢谢。它只是在做我让它做的事,我只是不明白我到底在说什么!不客气。那么请你投票接受我的回答好吗?正如你所看到的,我们都需要一些信誉。