刷新listobject命名范围时出现运行时错误

时间:2018-03-02 12:18:31

标签: vba excel-vba vbscript outlook-vba excel

以下是我发送邮件的代码:

{{1}}

我在代码的最后一行收到运行时错误(应用程序定义或对象定义错误)。

{{1}}

T_myPendingApprovals [#All]“在工作表”my pending approval“中命名为范围

1 个答案:

答案 0 :(得分:0)

ListObject.Refresh需要一个表示ListObject对象的变量。您需要使用名称框中显示的对象的全名。

例如

Option Explicit

Sub GetListObjectNames()

    Dim currObject As ListObject

    For Each currObject In ActiveSheet.ListObjects

        Debug.Print currObject.Name

    Next currObject

End Sub

如果"表1"被返回为名称

Dim myTable As ListObject
Set myTable = ActiveSheet.ListObjects("Table1") 'use actual sheet name. Don't assume Activesheet
myTable.Refresh

在你的例子中应该是这样的:

ThisWorkbook.Worksheets("my pending approvals").ListObjects("T_myPendingApprovals").Refresh

失败了昂贵的刷新事件,例如:

ThisWorkbook.RefreshAll