2015-01-15 35 views
0

输入任何字符后,存储在变量A中的值为“0”。任何人都可以请帮我在哪里,我错了,因为它是工作的罚款,如果我输入数字Excel VBScript:字符串问题

新秀

Public Sub MyFirstProgram() 

Dim A As String 
A = Val(InputBox("Enter your name", "NAME")) 
MsgBox "My name is " & A 

End Sub 
+0

删除VAL,它会工作,因为A是一个字符串(文本),而不是一个值(数字)。你也可以不用变量:'msgbox“我的名字是”&InputBox(“输入你的名字”,“NAME”)' – 2015-01-16 15:36:05

回答

2

Val功能将字符串转换为数字Double类型。

推测,您输入的名称不能转换为有效的数字,因此结果为0

http://office.microsoft.com/en-us/excel-help/HV080557263.aspx

Val函数停止在第一个字符不能识别为数字的一部分读出的字符串。

所以,如果你做一些像=Val("123steve")它会返回数字部分:123,但如果你=Val("Ebeneezer Scrooge")它停了,按照上面这句话 - 因为没有字符已转换为数值,则返回0

+0

谢谢你清除怀疑。你能建议我应该用什么来解决上述问题? – saurabh 2015-01-15 17:36:46

+0

我不确定你在问什么。没有什么问题,除了最有可能不正确地使用'Val'功能的问题外。如果遇到问题,提供一些输入和期望输出的示例可能会有所帮助。 – 2015-01-15 17:38:35

+0

我想通过输入框获取字符串,或者可以通过任何其他方式。 – saurabh 2015-01-15 17:41:20