簡體   English   中英

使用VBA復制數據透視表

[英]Copy a Pivot Table with VBA

我正在編程一個excel宏,該宏應該在新的摘要工作表中創建表格和圖形,但是在該宏需要過濾數據透視表,然后將其復制/粘貼到摘要中的部分存在問題工作表。 聽起來很簡單,但由於某種原因,我在目標范圍內僅得到一個值為0的單元格。 但是,過濾正確。 這是發生這種情況的代碼部分。

    Dim pt As PivotTable: Set pt = errprov.PivotTables("ErroresProveedor")
    On Error Resume Next
    pt.PivotFields("DESCRIPCIONESGLOBALES").ClearAllFilters
    pt.PivotFields("DESCRIPCIONESGLOBALES").CurrentPage =actual.Range("A2").Value
    pt.PivotFields("DATA DE").ClearAllFilters
    pt.PivotFields("DATA DE").CurrentPage = "SA"

    'The problem is here
    Dim rng As Range
    Set rng = errprov.Range("A7", Range("A7").End(xlToRight).End(xlDown))
    actual.Activate
    rng.Copy Range("A" & fila)

我收到range屬性錯誤,可能是因為那里有數據透視表,但是我也嘗試使用自己的方法將表選擇為對象,就像我在其他文章中找到的那樣,並且得到相同的結果(值0)。

Set rng = errprov.Range("A7", Range("A7").End(xlToRight).End(xlDown))

應該

Set rng = errprov.Range("A7:" & Range("A7").End(xlToRight).End(xlDown).Address)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM