我是靠谱客的博主 义气钢笔,最近开发中收集的这篇文章主要介绍方法value作用于对象range时失败_Excel VBA解读 | 进阶篇(125):使用Run方法来调用过程...,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

学习Excel技术,关注微信公众号:

excelperfect

在《Excel VBA解读 | 进阶篇(123):用来调用过程的Call语句》中,我们介绍了可用于调用另一个过程的Call语句。利用过程调用,我们能够有效地组织程序代码,参见《Excel VBA解读 | 进阶篇(124):VBA程序的组织》。

Application对象的Run方法也可用于在一个过程中调用另一个过程,如下面的代码所示:

Sub test()

    Application.Run "yourPro"

End Sub

Sub yourPro()

    MsgBox "Hi,调用成功!"

End Sub

在test过程中使用Run方法调用yourPro过程,运行test过程的效果如下图1所示。

f21d29d5fde6039568dcdf65d2b962c3.png

图1

Run方法的一个优势在于,可以将要调用的过程名赋值给一个变量,然后在Run方法中将该变量作为参数,实现运行参数指定的过程。如下面的代码所示:

Sub test()

    Dim str As String

    str = "yourPro"

    Application.Run str

End Sub

Sub yourPro()

    MsgBox "Hi,调用成功!"

End Sub

运行test过程,结果如下图2所示。

db6838b392c61b94fe02f447b290c60f.png

图2

在Run方法中,还可以将要传递给被调用过程参数的值作为变量,如下面的代码所示,将变量iNum中的值传递给myPro过程的参数:

Sub testPro()

    Dim iNum As Long

    iNum = 6

    Application.Run "myPro", iNum

End Sub

Sub myPro(num)

    Dim rng As Range

    For Each rng In Range("A1:C3")

        rng.Value = rng.Value + num

    Next rng

End Sub

还可以使用Run方法调用另一个工作簿中的过程,例如代码:

Application.Run“’my Data.xlsm’!test”

将运行“my Data.xlsm”工作簿中的test过程。使用这种方法,不需要添加对被调用程序所在工作簿的引用,但是要注意,“my Data.xlsm”工作簿必须处于打开状态。

小结

Application.Run方法的作用:运行宏或者调用函数。

Application.Run方法的语法

Application.Run(宏名, 参数1, 参数2, 参数3, 参数4, 参数5, 参数6, 参数7, 参数8, 参数9, 参数10, 参数11, 参数12, 参数13, 参数14, 参数15, 参数16, 参数17, 参数18, 参数19, 参数20, 参数21, 参数22, 参数23, 参数24, 参数25, 参数26, 参数27, 参数28, 参数29, 参数30)

其中:

1.所有参数都可选。

2.宏名指定要运行的宏,可以是代表宏名称的字符串、指示函数所在位置的Range对象,也可以是已注册DLL(XLL)函数的寄存器ID,Variant型。如果使用字符串,则将在活动工作表的上下文中评估该字符串。

3.参数1-参数30代表传递给过程或函数的参数,Variant型。

b077ceafc3be9359a71ef9de158a1910.png

最后

以上就是义气钢笔为你收集整理的方法value作用于对象range时失败_Excel VBA解读 | 进阶篇(125):使用Run方法来调用过程...的全部内容,希望文章能够帮你解决方法value作用于对象range时失败_Excel VBA解读 | 进阶篇(125):使用Run方法来调用过程...所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(39)

评论列表共有 0 条评论

立即
投稿
返回
顶部