我试图围绕来自数据透视表的一些数据构建电子表格,但是我无法过滤和删除行。
我为表尝试了.Value = .Value
,但收到了错误消息
“我们无法对所选单元格进行此更改,因为它将影响数据透视表...”(运行时错误'1004')
With ws
FinalRow = .Cells(Cells.Rows.Count, "B").End(xlUp).Row
With .Range("B1:C" & FinalRow)'Pivot table range
.Value = .Value
End With
For iCntr = FinalRow To 1 Step -1
If Rows(iCntr).Hidden Then
Rows(iCntr).EntireRow.Delete
End If
Next iCntr
End With
End With
答案 0 :(得分:0)
我认为您不能.Value
那样的范围。您需要删除数据透视表-可能是存储数据,清除范围,然后重新写入数据。
尝试一下:
Dim tmp As Variant
With ws
FinalRow = .Cells(Cells.Rows.Count, "B").End(xlUp).Row
With .Range("B1:C" & FinalRow) 'Pivot table range
tmp = .Value
.ClearContents
.Value = tmp
End With
End With
顺便说一句,如果您已在数据透视图中“隐藏”了项目,则它们将从表中删除,而实际上并未隐藏-因此,我怀疑以后无需删除它们。。