分享

Inputbox函数/方法应用

 先生草堂 2016-12-02


'1.inpubox函数

  

  '语法:

    'inputbox(输入框显示内容,窗体标题,默认值,水平位置,垂直位置,帮助文件,帮助文件ID

    

'2.Application对象的Inputbox方法:显示一个接收用户输入的对话框。返回此对话框中输入的信息

  

   '语法:

     'Application.InputBox(对话框显示内容,输入框标题,文本框内默认值,x坐标,y坐标,帮助文件,帮助文件上下文ID,文本框内输入类型)

  

  '最后一个参数数值说明:

 '     值    含义

      '0     公式

      '1     数字

      '2     文本 (字符串)

      '4     逻辑值 (True 或 False)

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

      '16    错误值,如 #N/A

      '64    数值数组


 '什么时候用方法,什么时候用函数

       '从上面的参数可以看出inputbox函数和方法的不同之处是方法比函数多了后面几个参不数,如果只是简单的输入,可以用方法,

    '如果需要添加帮助和设置输入类型,则用Application对象的Inputbox方法.


' 1.引用单元格

     'inputbox方法的最后个参数值为8的时候,可以用鼠标选择单元格的地址.使用变量是使用SET声明的对象变量,则返回的是一个单元格对象,

  '否则反回的这个单元格区域的值,即VBA数组.

   Sub text5()

     Dim rg As Range

     Set rg = Application.InputBox('请选择单元格区域', '选取提示', , , , , , 8)

     MsgBox rg.Parent.Name & '!' & rg.Address

   End Sub

  

     Sub text6()

     Dim rg

      rg = Application.InputBox('请选择单元格区域', '选取提示', , , , , , 8)

     MsgBox rg(2, 1)

   End Sub


 '2 公式引用

    '当最后一个参数设置为0时,可以输入公式,返回的也是一个公式字符串,如果公式中含单元格引用,可以自动转换成rc引用格式(以当前活动单元格为参照)

    

    Sub test7()

      Dim r

      r = Application.InputBox('请输入公式', '输入提示', , , , , , 0)

      MsgBox r

    End Sub


 '3 限制输入返回的数值格式

  Sub test8()

      Dim r

      r = Application.InputBox('请输入公式', '输入提示', , , , , , 1) '输入非数字则会提示无效的数字

      MsgBox r

  End Sub

  Sub test9()

      Dim r

      r = Application.InputBox('请输入公式', '输入提示', , , , , , 2) '可以输入字符,当然,文字型数字也符字符

      MsgBox TypeName(r)

  End Sub

 '4.数值数组

    '可以选取单元格区域的值作为数组,也可以输入以带有大括号的一维或二维数组

  Sub test10()

      Dim r

      r = Application.InputBox('请输入公式', '输入提示', , , , , , 64) '可以输入字符,当然,文字型数字也符字符

      MsgBox r(2, 1)

  End Sub




'1 输入的内容返回给一个变量

Sub test1()

  Dim sr

  sr = InputBox('输入测试', '测试', 100)

    MsgBox sr

  sr = Application.InputBox('输入测试', '测试', 100)

    MsgBox sr

End Sub


'2 如果不输入直接点确定返回什么

 

Sub test2()

  Dim sr

  sr = InputBox('输入测试', '测试')

    MsgBox sr

  sr = Application.InputBox('输入测试', '测试')

    MsgBox sr

End Sub


        '经过测试发现当不输入任何内容直接点确定都会返回空,所以我们就可以用空来判断是否输入了内容


 Sub test3()

  Dim sr

  sr = InputBox('输入测试', '测试')

  If sr = '' Then

    MsgBox '你没有输入就点了确定'

  End If

    

  sr = Application.InputBox('输入测试', '测试')

      If sr = '' Then

    MsgBox '你没有输入就点了确定'

      ElseIf sr = 'False' Then

      

  End If

End Sub


'3 如果直接点了'退出'按钮会有什么值返回

  

Sub test4()

  Dim sr

  sr = InputBox('输入测试', '测试')

    MsgBox sr '返回空

  sr = Application.InputBox('输入测试', '测试')

    MsgBox sr '返回False

End Sub


         '由上面2,3可以看出,如果需要判断是否输入了内容和是否点击了退出,用Inpubox函数时判断返回值是否为空就可以了,

   ' 如果是Inputbox方法,则需要进行两种判断.


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多