ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 3576|回复: 6

关于InputBox的问题(已解决)

[复制链接]

TA的精华主题

TA的得分主题

发表于 2007-11-20 18:12 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

InputBox用于输入一个字符串

怎样判断输入的是一个空字符串(直接回车或确定)还是按了取消?

请各位大哥指教,谢谢!

[此贴子已经被清风_ll于2007-11-21 15:51:01编辑过]

TA的精华主题

TA的得分主题

发表于 2007-11-20 18:33 | 显示全部楼层

InputBox 函数示例

本示例说明使用 InputBox 函数来显示用户输入数据的不同用法。如果省略 x 及 y 坐标值,则会自动将对话框放置在两个坐标的正中。如果用户单击“确定”按钮或按下“ENTER”按键,则变量 MyValue 保存用户输入的数据。如果用户单击“取消”按钮,则返回一零长度字符串。

Dim Message, Title, Default, MyValue
Message = "Enter a value between 1 and 3"    ' 设置提示信息。
Title = "InputBox Demo"    ' 设置标题。
Default = "1"    ' 设置缺省值。
' 显示信息、标题及缺省值。
MyValue = InputBox(Message, Title, Default)
		' 使用帮助文件及上下文。“帮助”按钮便会自动出现。
MyValue = InputBox(Message, Title, , , , "DEMO.HLP", 10)
		'  100, 100 的位置显示对话框。
MyValue = InputBox(Message, Title, Default, 100, 100)
	

InputBox 函数

在一对话框来中显示提示,等待用户输入正文或按下按钮,并返回包含文本框内容的 String

语法

InputBox(prompt[, title] [, default] [, xpos] [, ypos] [, helpfile, context])

InputBox 函数的语法具有以下几个命名参数:

部分描述
Prompt必需的。作为对话框消息出现的字符串表达式prompt 的最大长度大约是 1024 个字符,由所用字符的宽度决定。如果 prompt 包含多个行,则可在各行之间用回车符 (Chr(13))、换行符 (Chr(10)) 或回车换行符的组合 (Chr(13) & Chr(10)) 来分隔。
Title可选的。显示对话框标题栏中的字符串表达式。如果省略 title,则把应用程序名放入标题栏中。
Default可选的。显示文本框中的字符串表达式,在没有其它输入时作为缺省值。如果省略 default,则文本框为空。
Xpos可选的。数值表达式,成对出现,指定对话框的左边与屏幕左边的水平距离。如果省略 xpos,则对话框会在水平方向居中。
Ypos可选的。数值表达式,成对出现,指定对话框的上边与屏幕上边的距离。如果省略 ypos,则对话框被放置在屏幕垂直方向距下边大约三分之一的位置。
Helpfile可选的。字符串表达式,识别帮助文件,用该文件为对话框提供上下文相关的帮助。如果已提供 helpfile,则也必须提供 context
Context可选的。数值表达式,由帮助文件的作者指定给某个帮助主题的帮助上下文编号。如果已提供 context,则也必须要提供 helpfile

说明

如果同时提供了 helpfilecontext,用户可以按 F1 (Windows) or HELP (Macintosh) 来查看与 context 相应的帮助主题。某些主应用程序,例如,Microsoft Excel,会在对话框中自动添加一个 Help 按钮。如果用户单击 OK 或按下ENTER ,则 InputBox 函数返回文本框中的内容。如果用户单击 Cancel,则此函数返回一个长度为零的字符串 ("")。

注意 如果还要指定第一个命名参数以外的参数,则必须在表达式中使用 InputBox。如果要省略某些位置参数,则必须加入相应的逗号分界符。

TA的精华主题

TA的得分主题

 楼主| 发表于 2007-11-21 08:17 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

申哥,谢谢赐教,但问题还是没有解决

我的意思是如果文本框内本生就没有内容,单击确定和取消返回的内容是一样的,这时怎么区分?

TA的精华主题

TA的得分主题

发表于 2007-11-21 08:56 | 显示全部楼层

不行的话就用

Excel 开发人员参考
Application.InputBox 方法
显示一个接收用户输入的对话框。返回此对话框中输入的信息。

语法

表达式.InputBox(Prompt, Title, Default, Left, Top, HelpFile, HelpContextID, Type)

表达式   一个代表 Application 对象的变量。

参数

名称必选/可选数据类型描述
Prompt必选String要在对话框中显示的消息。可为字符串、数字、日期、或布尔值(在显示之前,Microsoft Excel 自动将其值强制转换为 String)。
Title可选Variant输入框的标题。如果省略该参数,默认标题将为“Input”。
Default可选Variant指定一个初始值,该值在对话框最初显示时出现在文本框中。如果省略该参数,文本框将为空。该值可以是 Range 对象。
Left可选Variant指定对话框相对于屏幕左上角的 X 坐标(以 (磅:指打印的字符的高度的度量单位。1 磅等于 1/72 英寸,或大约等于 1 厘米的 1/28。)为单位)。
Top可选Variant指定对话框相对于屏幕左上角的 Y 坐标(以磅为单位)。
HelpFile可选Variant此输入框使用的帮助文件名。如果存在 HelpFileHelpContextID 参数,对话框中将出现一个帮助按钮。
HelpContextID可选VariantHelpFile 中帮助主题的上下文 ID 号。
Type可选Variant指定返回的数据类型。如果省略该参数,对话框将返回文本。

返回值
Variant

说明

下表列出了可以在 Type 参数中传递的值。可以为下列值之一或其中几个值的和。例如,对于一个可接受文本和数字的输入框,将 Type 设置为 1 + 2。

含义
0公式
1数字
2文本(字符串)
4逻辑值(TrueFalse
8单元格引用,作为一个 Range 对象
16错误值,如 #N/A
64数值数组

使用 InputBox 可以显示一个简单的对话框,以便可以输入要在宏中使用的信息。此对话框有一个“确定”按钮和一个“取消”按钮。如果选择了“确定”按钮,则 InputBox 将返回对话框中输入的值。如果单击“取消”按钮,则 InputBox 返回 False

如果 Type 为 0,InputBox 将以文本格式返回公式。例如,“=2*PI()/360”。如果公式中有引用,将以 A1-样式引用返回(使用 ConvertFormula 转换引用样式)。

如果 Type 为 8,InputBox 将返回一个 Range 对象。您必须用 Set 语句将结果指定给一个 Range 对象,如下例所示。

Set myRange = Application.InputBox(prompt := "Sample", type := 8)

如果不使用 Set 语句,此变量将被设置为这个区域的值,而不是 Range 这个对象本身。

如果使用 InputBox 方法要求用户输入公式,则必须使用 FormulaLocal 属性来将此公式指定给一个 Range 对象。输入的公式使用用户语言。

InputBox 方法与 InputBox 函数的区别在于:它可以对用户的输入进行选择性验证,也可用于 Microsoft Excel 对象、误差值、和公式的输入。注意,Application.InputBox 调用的是 InputBox 方法,不带对象识别符的 InputBox 调用的是 InputBox 函数。

示例

本示例提示用户输入数字。

Visual Basic for Applications
myNum = Application.InputBox("Enter a number")

本示例提示用户在 Sheet1 中选取一个单元格。示例使用 Type 参数证实返回值是有效的单元格引用 (一个 Range 对象)。

Visual Basic for Applications
Worksheets("Sheet1").Activate
Set myCell = Application.InputBox( _
    prompt:="Select a cell", Type:=8)

TA的精华主题

TA的得分主题

 楼主| 发表于 2007-11-21 09:02 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2007-11-21 09:05 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2011-5-31 10:12 | 显示全部楼层

終於可以回複了還要註冊

用一夠循環應可以解決吧
sub inputbox輸入演示()
       dim  a  as string                                 '定義a為一個字符串變量,接收inputbox函數傳回的數據
       do until a<>""                                     '條件當傳回的數據,即a,為空,或是輸入後單擊取消按鈕,繼續循環
              a=inputbox("請輸入內容“,”inputbox演示)
      loop
      debug.pint a
end sub
      第一次來這裏,新手,見笑
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-10-5 06:21 , Processed in 0.034368 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表