如何传递一个Range对象用于另一个函数?

我有一个button可以点击。 此button将创build一个范围并将其传递给另一个更改该范围值的函数。

Sub CommandButton21_Click() Dim example As Range Set example = Range("A1") test (example) End Sub 

此function不起作用。 由于某种原因,该范围不能被其他function使用。

 Function test(x As Range) x.Value = "changed" End Function 

任何帮助? 错误说“需要对象”。 我试图通过类似[A1]的东西,或者把它变成一个没有运气的变种。

你不能“调用”一个函数,你调用一个子…..试试这个:

 Sub CommandButton21_Click() Dim example As Range Set example = Range("A1") MsgBox test(example) End Sub Function test(r As Range) As String r.Value = "Changed" test = "OK" End Function 

使用呼叫:

 Call test(example) 

如果你不会返回任何值,使用Sub而不是Function。