美文网首页Excel表格教程
Excel VBA用户交互/InputBox输入框的2种用法

Excel VBA用户交互/InputBox输入框的2种用法

作者: Excel表格先生 | 来源:发表于2023-01-09 17:20 被阅读0次

在Excel VBA中我们经常需要和用户进行交互,此时我们会用到Inputbox这个函数。

其实,Inputbox作为同一函数名,确有2种不同的用法,一个是作为VBA下面的函数;再一个是作为Excel应用级的函数来使用。

下面我们分别看下,2种不同方法的区别。

一、VBA函数定义:

InputBox(Prompt,[Title, (Defaultl,[Pos,[YPos,(HelFilel, [Context)) As String

参数说明:

prompt:必要参数,即InputBox对话框中的显示文本。

title:可选参数,即InputBox对话框的名称,默认情况为主程序名。

default:可选参数,输入框默认的内容,如果不设置此参数,默认情况下输入框为空。

xpos与ypos:可选参数,用于设置InputBox对话框在主程序窗口的位置,默认情况下在窗口的中心。

helpfile与context:可选参数,即帮助文件和与帮助文件相关的上下文编号。

代码实例:

Sub test()

InputBox "请输入信息!","Test","在此处输入",1600,1600, "D:Applications�-Zip�-zip.chm", 0

End Sub

二、应用程序级函数Application.InputBox定义

Application.InputBox(Prompt As String, [Titlel, (Default, (Leftl, [Topl, (HelpFilel, (HelpContextID), [Typel)

参数说明:

type:可选参数,用于明确返回数据的类型。

如果设置为1,则输入框中必须输入数字类型。

返回数据的类型,主要有0,1,2,4,8,16,64,分别代表公式、数字、文本、逻辑值(True或False)、单元格对象(Range)、错误值(如#N/A)、数组值。

在这里,值得注意的是,如果返回数据类型为8,即为单元格对象Range类型。那么我们可以实现,在Excel里面框选单元格或区域来输入单元格地址。这样,对于我们选择单元格区域是非常方便的。

如果返回数据类型为Range类型,那么我们需要用到Set来接收返回值,如下:

Set rng = Application.InputBox("请输入区域地址",,,,,,,8)

这样,我们就可以使用For Each循环来遍历Range对象,方法如下:

For Each x in rng

Next

结合上面返回值,这里给出一个代码实例作为参考。

Sub sel()

    Set Rng = Application.InputBox("请输入区域地址", , , , , , , 8)

    For Each x In Rng

        If x = [f10] Then

            MsgBox (x.Row)

        End If

    Next

End Sub

本文转载自:https://www.yunzhi88.com/study/excel_vba/2023/0109/2748.html

相关文章

网友评论

    本文标题:Excel VBA用户交互/InputBox输入框的2种用法

    本文链接:https://www.haomeiwen.com/subject/bnvucdtx.html