【发布时间】:2017-11-29 16:37:05
【问题描述】:
我正在编写一个应该在新摘要工作表中创建表格和图形的 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)
我的范围属性出错,可能是因为那里有一个数据透视表,但我也尝试使用自己的方法选择表作为对象,就像我在其他帖子中发现的那样,我得到了相同的结果(值为 0 的单个单元格)。
【问题讨论】:
-
你给
fila赋值了吗? -
每个值都已正确分配,我逐步运行宏,fila 具有我想要的值。问题是当我复制表格时,我在 A & fila (122) 单元格上得到了 0。
-
注释掉
On Error Resume Next,看看有没有错误。 -
@SJR 与编辑请求的想法相同,认为这是某种规则或某种东西,这是我的第一篇文章。顺便说一句,您的解决方案不起作用,非常感谢您尝试提供帮助。
-
编辑只是为了声望点,根本不需要!我同意你的看法@SJR!确实很奇怪。
标签: vba excel pivot-table