创建数据透视表时未解决运行时错误429

时间:2018-11-23 12:41:00

标签: excel vba excel-vba runtime-error

请帮助我处理以下抛出的代码

  

运行时错误429 Activex组件无法创建对象

突出显示的部分

    Dim myFirstRow As Long 
    Dim myLastRow As Long 
    Dim myFirstColumn As Long 
    Dim myLastColumn As Long 
    Dim mySourceData As String 
    Dim myDestinationRange As String 
    Dim mySourceWorksheet As Worksheet 
    Dim myDestinationWorksheet As Worksheet 
    Dim myPivotTable As PivotTable

    **With ThisWorkbook** 
       Set mySourceWorksheet = .Worksheets("WAM_RAW_DATA")
       Set myDestinationWorksheet = .Worksheets.Add 
    End With 

    myDestinationRange = myDestinationWorksheet.Range("A5").Address(ReferenceStyle:=xlR1C1)
    myFirstRow = 1
    myLastRow = 2020
    myFirstColumn = 1
    myLastColumn = 40

    With mySourceWorksheet.Cells
        mySourceData = .Range(.Cells(myFirstRow, myFirstColumn), .Cells(myLastRow, myLastColumn)).Address(ReferenceStyle:=xlR1C1) 
    End With 

    Set myPivotTable = ThisWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:=mySourceWorksheet.Name & "!" & mySourceData).CreatePivotTable(TableDestination:=myDestinationWorksheet.Name & "!" & myDestinationRange, TableName:="PivotTableNewSheet")

    With myPivotTable 
        .PivotFields("Agent Name").Orientation = xlRowField 
        .Position = 1 
    End With

    With myPivotTable 
        .PivotFields("Login Date").Orientation = xlColumnField 
        .Position = 1 
    End With

    With myPivotTable 
        .PivotFields("Login Time").Orientation = xlDataField 
        .Position = 1 
        .Function = xlMin 
        .NumberFormat = "h:mm:ss" 
    End With
End Sub

1 个答案:

答案 0 :(得分:0)

这可能会帮助How do I resolve "Run-time error '429': ActiveX component can't create object"?

但是,与此同时,您可以尝试其他解决方案来使用该语句,例如:

Dim WB As Workbook

Set WB = ActiveWorkbook
    ! OR !
Set WB = Workbooks("name of workbook.xlsm")