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