我正在尝试编写一个宏,以循环遍历活动工作簿中的每个工作表,并将所有公式保存为值。为此,对于每个工作表,我首先遍历每个数据透视表,然后选择该表并将其复制并粘贴为值。然后我尝试使用
在
我的两个问题是:
1) 我该如何修复运行时错误?
2) 是否有办法让.value = .value与数据透视表一起使用?在之前的宏中,这从未与数据透视表一起使用,因此我必须像下面这样使用复制和粘贴。
非常感谢您的帮助!
worksheet.activerange.value = .value
方法保存工作表中剩余的单元格。在
wks.UsedRange.Value = wks.UsedRange.Value
这一行会出现运行时错误1004。我的两个问题是:
1) 我该如何修复运行时错误?
2) 是否有办法让.value = .value与数据透视表一起使用?在之前的宏中,这从未与数据透视表一起使用,因此我必须像下面这样使用复制和粘贴。
非常感谢您的帮助!
Sub LockWorkbook()
Dim pvt As PivotTable
Dim wks As Worksheet
Dim i As Integer
Dim n As Integer
n = 1
For Each wks In ActiveWorkbook.Worksheets
i = 1
For Each pvt In wks.PivotTables
wks.PivotTables(i).TableRange2.Select
With Selection
.Copy
.PasteSpecial xlValues
.PasteSpecial xlFormats
End With
i = i + 1
Next pvt
Set wks = ActiveWorkbook.Worksheets(n)
wks.UsedRange.Value = wks.UsedRange.Value
n = n + 1
Next wks
End Sub