ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

Inputbox函数问题

[复制链接]

TA的精华主题

TA的得分主题

发表于 2007-5-18 21:56 | 显示全部楼层 |阅读模式
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

Inputbox函数有三个按钮:关闭、确定、取消

如何判断按下了那个按钮? 因为要根据按下的不同按钮,返回不同的值。

主要是想判断输入值是否为空,如果为空,则再次弹出inputbox函数对话框。

[此贴子已经被作者于2007-5-18 22:26:00编辑过]

TA的精华主题

TA的得分主题

发表于 2007-5-18 22:14 | 显示全部楼层

好象只能返回空或你输入的值。当返回值时说明你点了确定,此外就是取消或关闭。

TA的精华主题

TA的得分主题

发表于 2007-5-18 22:47 | 显示全部楼层

InputBox方法

适用于

Application 对象

描述

显示一个接收用户输入的对话框。返回此对话框中输入的信息。

句法

expression.InputBox(Prompt, Title, Default, Left, Top, HelpFile,HelpContextId, Type)

expression

必选。该表达式返回一个 Application 对象。

Prompt

String 类型,必选。 对话框中显示的信息。 可为字符串、 数字、日期或者一个布尔值(在显示之前 Microsoft Excel 自动将其值强制转换为 String类型)。

Title

Variant 类型,可选。输入框的标题。如省略此参数,将使用默认的标题。

Default

Variant 类型,可选。指定一个初始值,并在对话框显示时出现在文本框中。如省略此参数,文本框的内容将是空的。此值可为一个 Range 对象。

Left

Variant 类型,可选。指定对话框相对于屏幕左上角的 x 坐标, 用磅表示。

Top

Variant 类型,可选。指定对话框相对于屏幕左上角的 y 坐标, 用磅表示。

HelpFile

Variant 类型,可选。此输入框使用的帮助文件名。如果存在 HelpFile HelpContextID 参数,对话框中将出现一个帮助按钮。

HelpContextId

Variant 类型,可选。HelpFile 中帮助主题的上下文标识号。

Type

Variant 类型,可选。指定返回的数据类型。如果省略此参数,对话框将返回文本。可为下列值的其中一个或其中几个的和。

值 含义

0 公式

1 数字

2 文本 (字符串)

4 逻辑值 (True False)

8 单元格引用,作为 Range 对象

16 错误值,比如 #N/A

64 数值数组

Type 可为以上允许值的和。 例如,对一个可输入文本和数字的输入框,可将 Type 设置为 1 + 2

TA的精华主题

TA的得分主题

发表于 2007-5-18 22:48 | 显示全部楼层

说明

101

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

如果 Type 0InputBox 将以文本格式返回输入的公式。例如,“=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 函数。

示例

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

myNum = Application.InputBox("Enter a number")

本示例提示用户在 Sheet1 中选取一个单元格。示例使用 Type 参数证实返

102

回值是合法的单元格引用 (一个 Range 对象)

Worksheets("Sheet1").Activate

Set myCell = Application.InputBox( _

prompt:="Select a cell", Type:=8)

TA的精华主题

TA的得分主题

发表于 2007-5-19 07:07 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
QUOTE:
以下是引用languanzeng在2007-5-18 21:56:34的发言:

Inputbox函数有三个按钮:关闭、确定、取消

如何判断按下了那个按钮? 因为要根据按下的不同按钮,返回不同的值。

主要是想判断输入值是否为空,如果为空,则再次弹出inputbox函数对话框。


用strptr函数

以下为一段测试程序。

Sub test()
    Dim x
    Do
        x = InputBox("test")
        If StrPtr(x) = 0 Then
            MsgBox "按下了取消或关闭键": Exit Sub
        Else
            If x <> "" Then Exit Do
        End If
    Loop
End Sub

TA的精华主题

TA的得分主题

发表于 2007-6-25 22:24 | 显示全部楼层
QUOTE:
以下是引用fjlhgs在2007-5-19 7:07:04的发言:

用strptr函数

以下为一段测试程序。

Sub test()
    Dim x
    Do
        x = InputBox("test")
        If StrPtr(x) = 0 Then
            MsgBox "按下了取消或关闭键": Exit Sub
        Else
            If x <> "" Then Exit Do
        End If
    Loop
End Sub

谢谢你了,这个不错!

TA的精华主题

TA的得分主题

发表于 2007-6-28 00:35 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2009-1-3 19:34 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2009-4-9 14:04 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
路过学了呵呵

TA的精华主题

TA的得分主题

发表于 2009-12-28 14:07 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
学习了,谢谢!
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关闭

最新热点上一条 /1 下一条

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

GMT+8, 2024-4-18 23:08 , Processed in 0.047541 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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