Excel 如何编辑我的VBA宏以修复运行时错误';1004';关于我的数据透视表创建?

Excel 如何编辑我的VBA宏以修复运行时错误';1004';关于我的数据透视表创建?,excel,vba,pivot-table,Excel,Vba,Pivot Table,我的以下宏可以正常工作,直到从以下位置开始的最后一段代码: “Set-PCache=ActiveWorkbook.PivotCaches.Create\ux: 我需要完成的只是解释“详细信息”工作表的变化范围,并将所有数据插入数据透视表的“摘要”工作表。运行以下代码时,我收到的错误是“运行时错误“1004”:应用程序定义的错误或对象定义的错误在浏览了论坛之后,我想可能是因为我引用了不正确的表单,但这似乎不是根本的问题 Option Explicit Dim Details As

我的以下宏可以正常工作,直到从以下位置开始的最后一段代码: “Set-PCache=ActiveWorkbook.PivotCaches.Create\ux: 我需要完成的只是解释“详细信息”工作表的变化范围,并将所有数据插入数据透视表的“摘要”工作表。运行以下代码时,我收到的错误是“运行时错误“1004”:应用程序定义的错误或对象定义的错误在浏览了论坛之后,我想可能是因为我引用了不正确的表单,但这似乎不是根本的问题

    Option Explicit
    Dim Details As Worksheet
    Dim Summary As Worksheet
    Dim numberOfLoans As Integer
    Dim row As Integer
    Dim LastRow As Long
    Dim LastCol As Long
    Dim PCache As PivotCache
    Dim PTable As PivotTable
    Dim PRange As Range
    Dim Client As Variant
    
    Sub dob_cfa()
    
    ActiveSheet.Name = "Details"
    Set Details = Worksheets("Details")
    Columns(7).Insert
    Columns(11).Insert
    Range("G1").Value = "SEC MORTGAGOR DOB BLANKS"
    Range("K1").Value = "SEC CO MORTGAGOR DOB BLANKS"
    Range("M1").Value = "CLIENT NAME"
    
    Client = InputBox("What is the client name + event?")
    Range("M2").Value = Client
    Range("B1").End(xlDown).Offset(0,11) = Client
    LastRow = Cells(Rows.Count, "M").End(xlUp).Row
    Range("M2").Copy
    Range("M3:M" & LastRow).Select
    Details.Paste
    Columns("A:M").EntireColumn.AutoFit
    
    Cells(1,1).Select
    Selection.End(xlDown).Select
    numberOfLoans = ActiveCell.row - 1
    
    For row = 1 To numberOfLoans
    
    If Cells(row + 1, 4) <> ""And Cells(row + 1, 6) = "" Then
     Cells(row + 1, 7) = "BLANK"
    End If
    
    Next row
    
    Sheets.Add Before:=Sheets("Details")
    ActiveSheet.Name = "Summary"
    Set Summary = Worksheets("Summary")
    
    LastRow = Details.Cells(Rows.Count, 1). End(xlUp).row
    LastCol = Details.Cells(1, Columns.Count).End(xlToLeft).Column
    Set PRange = Details.Cells(1,1).Resize(LastRow, LastCol)
    
    Set PCache = ActiveWorkbook.PivotCaches.Create _
    (SourceType:=xlDatabase, SourceData:=PRange). _
    CreatePivotTable(TableDestination:=Summary.Cells(2,1), _
    TableName:="DOBPivot")
选项显式
将详细信息设置为工作表
将摘要设置为工作表
Dim numberOfLoans作为整数
将行设置为整数
最后一排一样长
暗淡如长
Dim PCache作为数据透视缓存
数据透视表
昏昏欲睡
Dim客户端作为变体
副财务总监()
ActiveSheet.Name=“详细信息”
设置详细信息=工作表(“详细信息”)
第(7)栏。插入
第(11)栏。插入
范围(“G1”).Value=“SEC抵押人DOB空白”
范围(“K1”).Value=“SEC共同抵押人DOB空白”
范围(“M1”).Value=“客户名称”
客户端=输入框(“客户端名称+事件是什么?”)
范围(“M2”)。值=客户
范围(“B1”)。结束(xlDown)。偏移量(0,11)=客户端
LastRow=单元格(Rows.Count,“M”).End(xlUp).Row
范围(“M2”)。副本
范围(“M3:M”和最后一行)。选择
详细信息。粘贴
列(“A:M”).entireclumn.AutoFit
单元格(1,1)。选择
选择。结束(xlDown)。选择
numberOfLoans=ActiveCell.row-1
对于行=1到行数
如果单元格(第1行,第4行)“和单元格(第1行,第6行)=”,则
单元格(第1行和第7行)=“空白”
如果结束
下一排
表。在之前添加:=表(“详细信息”)
ActiveSheet.Name=“Summary”
集合摘要=工作表(“摘要”)
LastRow=Details.Cells(Rows.Count,1)。结束(xlUp)。行
LastCol=Details.Cells(1,Columns.Count).End(xlToLeft).Column
设置PRange=Details.Cells(1,1).调整大小(LastRow,LastCol)
设置PCache=ActiveWorkbook.PivotCaches.Create_
(SourceType:=xlDatabase,SourceData:=PRange)_
CreatePivotTable(TableDestination:=摘要单元格(2,1)_
TableName:=“数据透视”)

卸下
。\CreatePivotTable(TableDestination:=Summary.Cells(2,1),TableName:=“DOBPivot”)
。解决了我的问题,谢谢@BigBen