VBA,使用inputbox() 和 application.inputbox() ,以及参数按次序,按名称传递的方式的差别

1 inputbox()  和 application.inputbox() 的语法和功能差别

1.1 inputbox()

  • 基本语法
  • InputBox(prompt[, title] [, default] [, xpos] [, ypos] [, helpfile, context])
  • 其中 inputbox(prompt) 是必选参数

 

1.2 application.InputBox()

  • 基本语法
  • expression.InputBox(Prompt, Title, Default, Left, Top, HelpFile, HelpContextId, Type)
  • 可以实现选择区域功能
  • 对选择的区域如何处理,我这里还有问题

 

2 以 inputbox()  为例子看 按顺序/位置 传递参数 和按名称传递参数的用法差别

2.1 明确差别

  • 必选参数,是必须带的参数,一般在语法说明里 不带方括号 []
  • 可选参数,可带可不带,一般可带方括号 []

 

2.2 参数传递的单一写法

  • 按顺序传递参数
  1. 按顺序传递参数时,不需要写参数名,只需要带参数值即可
  2. 不传的参数,必须空出来,  比如      ,,,,
  3. 参数必须是第几个,次序必须严格正确
  • 按名称传递参数
  1. 无所谓次序,次序随意,即使是必须参数也可以写在后面
  2. 每个参数都必须带名字
  3. 参数只填需要的那几个就可以,其他的可不管,也不用空出位置来

 

2.3 参数传递的混合写法

  • 混合传递参数
  • 按顺序/位置传递的参数,必须写在前面,而且必须有序
  • 按名称传递的参数,必须写在后面,这部分随意

 

3 代码1:试验 InputBox()

Sub test201()

'inputbox()
'InputBox(prompt[, title] [, default] [, xpos] [, ypos] [, helpfile, context])
'参数传递

'必选参数
'可选参数
'按顺序传递参数
'按名称传递参数



a = InputBox("请输入一个数字", "输入框")
Debug.Print a

b = InputBox("请输入一个数字", "输入框", 999, 10240, 10240, "help.hlp", Context:=55)
Debug.Print b


c = InputBox("请输入一个数字", , , , , "help.hlp", Context:=55)
Debug.Print c

'单一写法,但是按次序传递参数
d = InputBox("请输入一个数字", , 12345)
Debug.Print d


'单一写法,但是按参数名传递,可以无序
e = InputBox(Default:=123456, Prompt:="请输入一个数字")
Debug.Print e

'混合写法,是有顺序要求的,有的按位置传,有的按参数名传参数--按名字传的不用管次序,但是得放在最后把
f = InputBox("请输入一个数字", Default:=1234567)
Debug.Print f


End Sub

 

4 代码2,试验application.InputBox()

  • 但是现在取得的范围,怎么处理都报错
Sub test202()
'application.InputBox()
'expression.InputBox(Prompt, Title, Default, Left, Top, HelpFile, HelpContextId, Type)

a = Application.InputBox("请选择一个范围", , , , , , 8).Value
'暂时没找到怎么处理这个变量的方法


Set b = Application.InputBox(Type:=8, Prompt:="你好,请选1个范围")


End Sub

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值