龙空技术网

VBA中InputBox函数对话框输入空白还是单击取消,用这个方法判断

Excel其实很简单 509

前言:

现在同学们对“vba中使用的输入函数是什么意思”可能比较关心,朋友们都想要学习一些“vba中使用的输入函数是什么意思”的相关内容。那么小编在网络上搜集了一些有关“vba中使用的输入函数是什么意思””的相关知识,希望小伙伴们能喜欢,你们快快来了解一下吧!

  在Excel VBA中,使用InputBox函数可以创建一个输入数据的对话框,供我们输入数据,比如:

Sub InputBox函数()    Dim Str  As String    Str = InputBox("请输入信息:")    MsgBox "你输入的内容是:" & StrEnd Sub

  下面是执行过程效果:

  这个过程有个问题:当不在对话框中输入任何内容,直接单击【确定】,或者直接单击对话框中的【取消】按钮,InputBox函数返回的都是相同的信息,如:

Sub 判断InputBox输入内容()    Dim Str1 As String, Str2 As String    Str1 = InputBox("请直接单击【确定】按钮")    Str2 = InputBox("请直接单击【取消】按钮")    MsgBox Str1 = Str2End Sub

我们执行过程,先后单击【确定】和【取消】看看对比的结果:

  返回的结果为True,说明比较运算符“=”不能辨别输入空白内容和单击【取消】按钮时,InputBox函数返回值的区别。

  有什么方法可以辨别呢?可以借助 StrPtr函数解决。

  StrPtr函数,返回真正的UNICODE字符串缓冲区的地址。

  如果弄不明白这句话的意思也没判断,直接上代码。

Sub 辨别InputBox输入内容()  Dim Str As String  Str = InputBox("请输入内容:")  If StrPtr(Str) = 0 Then     MsgBox "你点击了【取消】或是直接关闭了窗口。"  ElseIf StrPtr(Str) <> 0 Then     If Len(Str) = 0 Then        MsgBox "你未输入数据,直接单击了【确定】按钮。"     ElseIf Len(Str) <> 0 Then        MsgBox "你输入的内容是:" & Str     End If  End IfEnd Sub

  快去表格中试试效果吧!

要学Excel,就关注我!

标签: #vba中使用的输入函数是什么意思