如何使用Rangevariables作为子程序参数
我有一个关于VBA子例程的基本问题。 我想要做的是
- 将activeCell设置为Rangevariables
- 将该variables传递给Sub例程
- 用activeCell做点什么
我试图做的是
Sub myMacro() Dim myCell As Range Set myCell = ActiveCell mySub(myCell) End Sub Sub mySub(cell As Range) ' Do something End Sub
我不断收到“对象需要”的错误。
这里有什么问题?
当你传递参数给一个函数时,你不需要使用括号。 例如:
mySub myCell
您也可以使用Lance sugention并使用Call
和括号。 (在VBA编辑器中按F1 Call
以获取更多信息)
Call mySub(myCell)
无论哪种方式都是正确的,但是在学习VBA的时候,第一个符号可能会更有帮助,因为论坛中答案的绝大多数使用了第一个符号。
您需要在子例程上使用Call语句。
Call mySub(myCell)