VB编程中 关于inputbox函数
比如说我点击command1运行InputBox("请输入一个1到10000的数","输入T2的修改量","")在运行的时候,我在弹出的inputbox里,点击了那个”取...
比如说我点击command1
运行InputBox("请输入一个1到10000的数", "输入T2的修改量", "")
在运行的时候,我在弹出的inputbox里,点击了那个”取消“,结果弹出了一个窗口,显示, 实时错误‘13’ 类型不匹配
按理说,我点击取消的时候,程序不赋值就行了。
他为什么要显示 说 实时错误
这一点有点想不通
请问,我在程序里修改什么,可以避免出现这种情况。 展开
运行InputBox("请输入一个1到10000的数", "输入T2的修改量", "")
在运行的时候,我在弹出的inputbox里,点击了那个”取消“,结果弹出了一个窗口,显示, 实时错误‘13’ 类型不匹配
按理说,我点击取消的时候,程序不赋值就行了。
他为什么要显示 说 实时错误
这一点有点想不通
请问,我在程序里修改什么,可以避免出现这种情况。 展开
4个回答
展开全部
一、InputBox函数
1、作用
显示一个输入框,并提示用户在文本框中输入文本、数字或选中某个单元格区域,当按下确定按钮后返回包含文本框内容的字
符串。
2、语法
InputBox(Prompt[,Title][,Default][,Xpos][,Ypos][,Helpfile,Context])
参数说明:
(1)Prompt,必需的参数,作为输入框中提示信息出现的字符串,其最大长度约为1024个字符,由所使用字符的宽度决定。如
果Prompt包含多个行,则可在各行之间用回车符(Chr(13))、换行符(Chr(10))或回车换行符的组合(Chr(13)&Chr(10))来分隔。
(2)Title,可选的参数,作为输入框标题栏中的字符串。若省略该参数,则在标题栏中显示应用程序名称。
(3)Default,可选的参数,作为输入框中默认的字符串,在没有其它输入时作为缺省值。若省略该参数,则文本框为空。
(4)Xpos,可选的参数,为数值,成对出现,指定输入框的左边与屏幕左边的水平距离。若省略该参数,则输入框在水平方向居
中。
(5)Ypos,可选的参数,为数值,成对出现,指定输入框的上边与屏幕上边的距离。若省略该参数,则输入框在屏幕垂直方向距
下边约三分之一的位置。
(6)Helpfile,可选的参数,为字符串,表示帮助文件,用该文件为输入框提供上下文相关的帮助。若有Helpfile,则必须有
Context。
(7)Context,可选的参数,为数值,帮助文件中某帮助主题的上下文编号。若有Context,则必须有Helpfile。
3、相关说明
(1)如果同时提供了Helpfile与Context参数,可以按F1键来查看与Context相应的帮助主题,Excel通常会在输入框中自动添加一个
帮助(Help)按钮。
(2)如果单击确定(OK)或按下ENTER键,则InputBox函数返回文本框中的内容;如果单击取消(Cancel),则此函数返回一个长度
为零的字符串(“”)。
(3)如果要输入多个参数并省略中间的某些参数,则必须在相应位置加入逗号分界符。
(4)InputBox函数返回的是一个字符串,若需要得到数值,则需要使用Val函数将字符串转换为一个值。
二、InputBox方法
1、作用
显示一个接收用户输入的对话框,并返回此对话框中输入的信息。运用InputBox方法可以指定需要返回的数据类型,可通过在
工作表中拖放指定工作表的单元格区域,并能自动执行输入有效性验证。
2、语法
Object.InputBox(Prompt,Title,Default,Left,Top,HelpFile,HelpContextID,Type)
参数说明:
(1)Prompt,必需的参数,为string型,表示在输入框中的文本,可为字符串、数字、日期或一个布尔值(Excel自动将值强制转换
为string型)。
(2)Title,可选的参数,为Variant型,输入框窗口的标题。若省略此参数,将使用默认的标题。
(3)Default,可选的参数,为Variant型,指定在用户没有输入内容时文本框的默认值。若省略此参数,文本框中的内容为空。该
值可为一个Range对象。
(4)Left,可选的参数,为Variant型。指定输入框窗口相对于屏幕左上角的x坐标。
(5)Top,可选的参数,为Variant型。指定输入框窗口相对于屏幕左上角的y坐标。 (6)HelpFile,可选的参数,为Variant型。表示此输入框使用的帮助文件名。若存在HelpFile和HelpContextID参数,则输入框中将
出现一个帮助按钮。
(7)HelpContextID,可选的参数,为Variant型。表示帮助主题。
(8)Type,可选的参数,为Variant型,指定返回数据的类型。若省略此参数,输入框将返回文本。数据类型可以是下表中的其
中一个或其中几个的和。若使用适当代码的和,则返回多种数据类型。若要显示一个可以接受文本或数字的输入框,则将Type设
置为3(即1和2之和,或者数字加上文本);若Type设置为8,那么可以输入一个单元格或单元格区域,或者用鼠标在工作表中的选
择某个单元格区域。
3、相关说明
(1)使用InputBox可以显示一个简单的对话框,以便输入宏所需要的的信息。此对话框有一个“确定”按钮和一个“取消”按钮。则InputBox将返回对话框中输入的值。如果单击“取消”按钮,则InputBox的值为False。
(2)如果Type为0,InputBox将以文本格式返回输入的公式。例如,“=2*PI()/360”。如果公式中有引用,将以A1-样式引用返回
(用ConvertFormula方法转换引用样式)。
(3)如果Type为8,InputBox将返回一个Range对象。必须用Set语句将结果指定给一个Range对象,如下例所示。
Set myRange = Application.InputBox(prompt := “Sample”, type := 8)
如果不使用Set语句,此变量将被设为这个区域的值,而不是Range这个对象本身。
(4)如果使用InputBox方法要求用户输入公式,则必须使用FormulaLocal属性来将此公式指定给一个Range对象。
(5)InputBox方法与InputBox函数的区别在于:InputBox方法可以对用户的输入自动执行输入有效性验证,也可用于Excel对象、
误差值、和公式的输入。需要注意的是Application.InputBox调用的是InputBox方法,不带对象识别符的InputBox调用的是InputBox
函数。
4、示例
(1)提示用户输入数字:
myNum = Application.InputBox(“Enter a number”)
(2)提示用户在Sheet1中选取一个单元格,使用Type参数返回有效的单元格引用(一个Range对象)。
Worksheets(“Sheet1”).Activate
Set myCell = Application.InputBox(prompt:=”Select a cell”, Type:=8)
1、作用
显示一个输入框,并提示用户在文本框中输入文本、数字或选中某个单元格区域,当按下确定按钮后返回包含文本框内容的字
符串。
2、语法
InputBox(Prompt[,Title][,Default][,Xpos][,Ypos][,Helpfile,Context])
参数说明:
(1)Prompt,必需的参数,作为输入框中提示信息出现的字符串,其最大长度约为1024个字符,由所使用字符的宽度决定。如
果Prompt包含多个行,则可在各行之间用回车符(Chr(13))、换行符(Chr(10))或回车换行符的组合(Chr(13)&Chr(10))来分隔。
(2)Title,可选的参数,作为输入框标题栏中的字符串。若省略该参数,则在标题栏中显示应用程序名称。
(3)Default,可选的参数,作为输入框中默认的字符串,在没有其它输入时作为缺省值。若省略该参数,则文本框为空。
(4)Xpos,可选的参数,为数值,成对出现,指定输入框的左边与屏幕左边的水平距离。若省略该参数,则输入框在水平方向居
中。
(5)Ypos,可选的参数,为数值,成对出现,指定输入框的上边与屏幕上边的距离。若省略该参数,则输入框在屏幕垂直方向距
下边约三分之一的位置。
(6)Helpfile,可选的参数,为字符串,表示帮助文件,用该文件为输入框提供上下文相关的帮助。若有Helpfile,则必须有
Context。
(7)Context,可选的参数,为数值,帮助文件中某帮助主题的上下文编号。若有Context,则必须有Helpfile。
3、相关说明
(1)如果同时提供了Helpfile与Context参数,可以按F1键来查看与Context相应的帮助主题,Excel通常会在输入框中自动添加一个
帮助(Help)按钮。
(2)如果单击确定(OK)或按下ENTER键,则InputBox函数返回文本框中的内容;如果单击取消(Cancel),则此函数返回一个长度
为零的字符串(“”)。
(3)如果要输入多个参数并省略中间的某些参数,则必须在相应位置加入逗号分界符。
(4)InputBox函数返回的是一个字符串,若需要得到数值,则需要使用Val函数将字符串转换为一个值。
二、InputBox方法
1、作用
显示一个接收用户输入的对话框,并返回此对话框中输入的信息。运用InputBox方法可以指定需要返回的数据类型,可通过在
工作表中拖放指定工作表的单元格区域,并能自动执行输入有效性验证。
2、语法
Object.InputBox(Prompt,Title,Default,Left,Top,HelpFile,HelpContextID,Type)
参数说明:
(1)Prompt,必需的参数,为string型,表示在输入框中的文本,可为字符串、数字、日期或一个布尔值(Excel自动将值强制转换
为string型)。
(2)Title,可选的参数,为Variant型,输入框窗口的标题。若省略此参数,将使用默认的标题。
(3)Default,可选的参数,为Variant型,指定在用户没有输入内容时文本框的默认值。若省略此参数,文本框中的内容为空。该
值可为一个Range对象。
(4)Left,可选的参数,为Variant型。指定输入框窗口相对于屏幕左上角的x坐标。
(5)Top,可选的参数,为Variant型。指定输入框窗口相对于屏幕左上角的y坐标。 (6)HelpFile,可选的参数,为Variant型。表示此输入框使用的帮助文件名。若存在HelpFile和HelpContextID参数,则输入框中将
出现一个帮助按钮。
(7)HelpContextID,可选的参数,为Variant型。表示帮助主题。
(8)Type,可选的参数,为Variant型,指定返回数据的类型。若省略此参数,输入框将返回文本。数据类型可以是下表中的其
中一个或其中几个的和。若使用适当代码的和,则返回多种数据类型。若要显示一个可以接受文本或数字的输入框,则将Type设
置为3(即1和2之和,或者数字加上文本);若Type设置为8,那么可以输入一个单元格或单元格区域,或者用鼠标在工作表中的选
择某个单元格区域。
3、相关说明
(1)使用InputBox可以显示一个简单的对话框,以便输入宏所需要的的信息。此对话框有一个“确定”按钮和一个“取消”按钮。则InputBox将返回对话框中输入的值。如果单击“取消”按钮,则InputBox的值为False。
(2)如果Type为0,InputBox将以文本格式返回输入的公式。例如,“=2*PI()/360”。如果公式中有引用,将以A1-样式引用返回
(用ConvertFormula方法转换引用样式)。
(3)如果Type为8,InputBox将返回一个Range对象。必须用Set语句将结果指定给一个Range对象,如下例所示。
Set myRange = Application.InputBox(prompt := “Sample”, type := 8)
如果不使用Set语句,此变量将被设为这个区域的值,而不是Range这个对象本身。
(4)如果使用InputBox方法要求用户输入公式,则必须使用FormulaLocal属性来将此公式指定给一个Range对象。
(5)InputBox方法与InputBox函数的区别在于:InputBox方法可以对用户的输入自动执行输入有效性验证,也可用于Excel对象、
误差值、和公式的输入。需要注意的是Application.InputBox调用的是InputBox方法,不带对象识别符的InputBox调用的是InputBox
函数。
4、示例
(1)提示用户输入数字:
myNum = Application.InputBox(“Enter a number”)
(2)提示用户在Sheet1中选取一个单元格,使用Type参数返回有效的单元格引用(一个Range对象)。
Worksheets(“Sheet1”).Activate
Set myCell = Application.InputBox(prompt:=”Select a cell”, Type:=8)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Dim s As String, i As Integer
s = InputBox("请输入一个1到10000的数", "输入T2的修改量", "")
If s <> Empty Then
i = Val(s)
End If
s = InputBox("请输入一个1到10000的数", "输入T2的修改量", "")
If s <> Empty Then
i = Val(s)
End If
追问
我试过你这个方法了,不知道为什么会没用。我点击inputbox时,还是会出现 我说的那个 错误。
我的部分代码是这样子,你看看
单击commond1
t1 = InputBox("请输入一个1到10000的数", "输入T1的修改量", "")
Text2.Text = "T1=" + Str(t1)
我有个猜想,是不是因为我点击了inputbox里的那个取消。
在执行Text.Text="T1="+Str(t1)那一句时,因为t1是空的,什么也没有输入,就出现了这个问题。
追答
我的程序100%正确, 试验过了.
---------------------------------------------
把t1定义成字符串型, 就像我那里的S.
再判断t1是不是空的, 如果是空的, 就是没有输入或按了取消.
如果不空再赋值. text2.text=
=============================================
你得错误是你没定义t1类型, 或者你定义成了数值型int,long ..........
而inputbox输出型是字符串型. 当返回数字串时, 系统给你自动转换成数字型存到t1里面,
当按取消时, inputbox返回空串, 不能转换成数字, 所以提示错误.
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
If StrPtr(pas) = 0 Then
MsgBox "你选取消按钮"
end if
加上这句就行了、、、、、
MsgBox "你选取消按钮"
end if
加上这句就行了、、、、、
追问
pas是指我在inputbox里输入的数吗
追答
恩、
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询