将工作表传递给子例程

Bla*_*de3 8 excel vba

我有以下代码:

Private Sub SortWorksheet(ByVal sheet As Worksheet)
    Dim sStartColumn
    Dim iTopRow
    Dim sEndColumn
    Dim iBottomRow
    Dim Rng As Range
    Dim sRange1 As String
    .
    .
    .
Run Code Online (Sandbox Code Playgroud)

我正在调用这样的函数:

SortWorksheet (DestSheet)
Run Code Online (Sandbox Code Playgroud)

我在上面的行中收到运行时错误,说"对象不支持此属性或方法"

DestSheet是一个工作表变量.

为什么这段代码不起作用?

Bla*_*de3 11

无视,显然在VBA中,子程序就像这样被调用

SortWorksheet DestSheet
Run Code Online (Sandbox Code Playgroud)

嘿,我是C/C++/C#家伙!:)

  • 嘿Bobby,如果你喜欢在进行方法调用时使用括号 - 我这样做,而且考虑到你的C/C#背景,我确信你这样做 - 你可以使用VBA的`Call`关键字,如在`Call SortWorksheet(DestSheet)`中 (7认同)