哪位VB高手看看程序哪里出了问题,为什么显示子程序或函数未定义呢?

来源:百度知道 编辑:UC知道 时间:2024/06/03 04:13:49
Dim k As Integer, g As Integer
Private Sub Command1_Click()
Dim a As Single, b As Single, c As Single, d As Single, e As Single, f As Single, h As Single, i As Single
a = Val(Text1.Text)
b = Val(Text2.Text)
c = Val(Text3.Text)
d = Val(Text4.Text)
e = 0.001 / 3600
f = d * e * (b ^ 2) / (a * h * c)
If k = 1 Then
h = 137
If g = 1 Then
If f > 0.1 And f < 1 Then
i = 26.79 * Exp(-2.4 * f)
End If
If f >= 1 * 10 ^ (-6) And f <= 0.1 Then
i = -16.33 * lg(f * 0.4886)
End If
End If
If g = 2 Then
i = -2.163 * lg(f * 0.9606)
End If
If g = 0 Then
MsgBox "请选选择屏蔽材料!", 48, "提示信息"
End If
End If
If k = 2 Then
h = 60
If g = 1

VB中没有lg这个函数,只有log函数,用于计算自然对数(以e为底)。

你可以根据换底公式,写为Log(x)/Log(10)

当然也可以自定义出lg函数:
Function lg(x As Double) As Double
lg = Log(x)/Log(10)
End Function

错误定位在哪行?你这个问题肯定是哪个函数没定义。。

你的语句这么不规范?