如何将变量传递给函数?

时间:2012-09-27 01:59:33

标签: excel excel-vba vba

我有一个Sub叫     sortRows(location as String,wksht As String)

参数wksheet从另一个循环遍历电子表格的子例程传递给sortRows。

我一直收到错误 “编译错误。 “预期:=”

经过一番研究后,我发现了ByRef指令(?)并将Sub重写为     sortRows(location as String,ByRef wksht As String)

但是在工作表循环中调用它时仍然会出现相同的错误。

Sub工作正常,但我似乎无法正常工作。

我尝试了两种方法来调用Sub:     sortRows(“Florida”,sheetname)     sortRows(“Florida”,wksht:= sheetname)

两种方式都会导致“编译错误”

1 个答案:

答案 0 :(得分:1)

如果没有看到完整的代码,那就有点难了。

但我建议你尝试将工作表变量作为工作表传递,即

Pearson Passing Simple Variables ByRef And ByVal

提供了很好的参考资料
Sub test()
Dim ws As Worksheet
Set ws = Sheets(2)
Call sortRows("MyName", ws)
End Sub

Sub sortRows(location As String, ByRef ws1 As Worksheet)
MsgBox ws1.Name
End Sub