gpt4 book ai didi

excel - 类型不匹配 13 错误 - 引用对象

转载 作者:行者123 更新时间:2023-12-04 21:17:29 24 4
gpt4 key购买 nike

我创建了一个子例程来将工作表中的所有单元格存储在一个名为“CNrng3”的对象中。

Sub GetCLRange()
Dim CLrng1 As Range
Dim CLrng2 As Range
Sheets("Cancel").Activate
Set CLrng1 = Cells.Find("*", [a1], , , xlByRows, xlPrevious)
Set CLrng2 = Cells.Find("*", [a1], , , xlByColumns, xlPrevious)
If Not CLrng1 Is Nothing Then
Set CLrng3 = Range([a1], Cells(CLrng1.Row, CLrng2.Column))
Application.Goto CLrng3
Else
MsgBox "sheet is blank", vbCritical
End If
End Sub

现在,我想引用这个对象来创建一个包含数据的数据透视表:
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
CLrng3.Cells, Version:=xlPivotTableVersion12).CreatePivotTable _
TableDestination:="CancelSummary!R1C1", TableName:="CancelPivot", _
DefaultVersion:=xlPivotTableVersion12

问题是我在运行这部分代码时收到“类型不匹配错误 13”。有谁知道为什么我可能会收到此错误以及如何解决它?

谢谢!

最佳答案

如果您尝试使用宏记录器记录代码,您将看到 SourceRange 期望看到一个地址,例如 "Cancel!R1C1:R10C5"。其中包括工作表名称

所以而不是
SourceData:= CLrng3.Cells
尝试
SourceData:=(Clrng3.Parent.Name & "!" & Clrng3.Address)
它分三部分返回

  • “取消”(作为您范围的父级名称)
  • “!”
  • 和类似 A1:E10

  • Cancel!A1:E10
     Sub GetCLRange()
    Dim CLrng1 As Range
    Dim CLrng2 As Range
    Dim Clrng3 As Range
    Sheets("Cancel").Activate
    Set CLrng1 = Cells.Find("*", [a1], , , xlByRows, xlPrevious)
    Set CLrng2 = Cells.Find("*", [a1], , , xlByColumns, xlPrevious)
    If Not CLrng1 Is Nothing Then
    Set Clrng3 = Range([a1], Cells(CLrng1.Row, CLrng2.Column))
    ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
    ("'" & Clrng3.Parent.Name & "'!" & Clrng3.Address), Version:=xlPivotTableVersion12).CreatePivotTable _
    TableDestination:="CancelSummary!R1C1", TableName:="CancelPivot", _
    DefaultVersion:=xlPivotTableVersion12
    Application.Goto Clrng3
    Else
    MsgBox "sheet is blank", vbCritical
    End If
    End Sub

    关于excel - 类型不匹配 13 错误 - 引用对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8290930/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com