谢谢,vba 语言 if 的用法。

来源:百度知道 编辑:UC知道 时间:2024/06/15 09:58:13
不知怎么搞的总错 啊。愁死了
Sub age()
Dim age As Integer
age = InputBox("输入年龄 ,svp")

If age = "" Then
MsgBox ("不能留空"), vbOKOnly, "ALARME"
Else
If IsNumeric(age) = False Then
MsgBox ("必须是数字"), vbOKOnly, "ALARME"
Else
If age < 0 Or age > 120 Then
MsgBox ("不真实"), vbOKOnly, "ALARME"
Else
MsgBox "你的年龄是: " & age, "岁", vbOKOnly, "你的年龄"

End If
End If

End If
End Sub
谢谢,但是有1点,类型不匹配是说 一开始 是 先定义成 整数,后来,所以不可能在后面
=“”,请问后面这个是 什么类型呢。

VBA应该和VB6.0差不多吧,我以vb6.0来看有如下错误:
首先,不是 if 语法的问题!!!!!

dim age as integer '这里定义age为integer型,但是下面一句:if age="" then ,,这样就出现类型不匹配

第二个错误 msgbox 如果不返回值,后面不要括号

第三,MsgBox "你的年龄是: " & age, "岁", vbOKOnly, "你的年龄" 这句 “岁”字前面少个连接符 &

综上:修改为下面的代码:(6.0中测试没问题)

Dim age
age = InputBox("输入年龄 ,svp")

If age = "" Then
MsgBox "不能留空", vbOKOnly, "ALARME"
Else
If IsNumeric(age) = False Then
MsgBox "必须是数字", vbOKOnly, "ALARME"
Else
If age < 0 Or age > 120 Then
MsgBox "不真实", vbOKOnly, "ALARME"
Else
MsgBox "你的年龄是: " & age & "岁", vbOKOnly, "你的年龄"

End If
End If

End If