调用函数删除工作表问题

时间:2014-08-07 11:12:26

标签: vba

我认为这是相对直接的,但我收到了错误。

错误:Object doesn't support this property or method

我的代码:

    '*************************************************************
    '       Delete existing sheets to start reset the program
    '*************************************************************
    Dim wsPivot As Worksheet
    Set wsPivot = Worksheets("UA.01.01 Breakdown per Product")
    wsPivot.Select
    deleteSheetFunc (wsPivot)

功能

Function deleteSheetFunc(ws As Worksheet)

    Application.DisplayAlerts = False
    On Error Resume Next
    ws.delete
    On Error GoTo 0
    Application.DisplayAlerts = True        

End Function

我在哪里出错了。任何建议将不胜感激

1 个答案:

答案 0 :(得分:1)

实际上使用deleteSheetFunc你不能只做:

deleteSheetFunc(wsPivot)

但您必须使用Call

Call deleteSheetFunc(wsPivot)

你必须这样调用你的函数:

deleteSheetFunc wsPivot

我不知道为什么你必须这样使用它,但现在我记得我曾经有过同样的错误。 Personnaly我喜欢使用Call,因为它明确表示你会调用某些内容。

注意您可以使用Sub代替Function,因为您没有返回值