我有一个文件,它有一个vba宏来粘贴和排序数据。 现在每次我保存文件,打开它时说它有问题=删除记录:从sheet3排序(即使很难,我的文件中没有sheet3),我的文件被损坏并被锁定以进行编辑&# 39; 。
提前感谢您的帮助。
'总和宏
范围(" A3&#34)。选择
ActiveCell.FormulaR1C1 = "=Pivot!R[3]C"
Range("A3").Select
Selection.AutoFill Destination:=Range("A3:A1500"), Type:=xlFillDefault
Range("A3:A1500").Select
ActiveWindow.SmallScroll Down:=-3
Selection.AutoFill Destination:=Range("A3:ab1500"), Type:=xlFillDefault
Range("A3:ab1500").Select
Range("AC3").Select
Range("AC3").Select
ActiveCell.FormulaR1C1 = "=RC[-12]+RC[-10]+RC[-8]+RC[-6]+RC[-4]+RC[-2]+RC[-14]+RC[-16]+RC[-20]+RC[-18]+RC[-22]+RC[-24]"
Range("AC3").Select
Selection.AutoFill Destination:=Range("AC3:AC1500")
Range("AC3:aC1500").Select
ActiveWindow.SmallScroll Down:=60
Range("ac3").Select
Range("A3:ac1500").Select
Selection.copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("ac2").Select
Application.CutCopyMode = False
Range("ac2").Select
ActiveWorkbook.Worksheets("Summary table").Sort.SortFields.Add Key:=Range( _
"ac2:ac1500"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Summary table").Sort
.SetRange Range("A2:ac1500")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("A3").Select
'
End Sub
答案 0 :(得分:2)
尝试"文件" - > "选项" - >"高级" - >向下滚动以查看标题,"在计算此工作簿时" - >选中框"更新指向其他文档的链接" - > "确定"然后尝试执行你的代码。
答案 1 :(得分:0)
推荐阅读:How to avoid using Select in Excel VBA
最好远离以后选择并激活。
以下是您的代码执行上述原始内容所需的实际内容。
Option Explicit
Sub summmit()
With ActiveWorkbook.Worksheets("Summary table")
.Activate
.Range("A3:AB1500").FormulaR1C1 = "=Pivot!R[3]C"
.Range("AC3:AC1500").FormulaR1C1 = _
"=RC[-24]+RC[-22]+RC[-20]+RC[-18]+RC[-16]+RC[-14]+RC[-12]+RC[-10]+RC[-8]+RC[-6]+RC[-4]+RC[-2]"
.Range("A3:ac1500") = .Range("A3:ac1500").Value
With .Range("A2:ac1500")
.Cells.Sort Key1:=.Columns(29), Order1:=xlDescending, _
Orientation:=xlTopToBottom, Header:=xlYes
End With
.Range("A3").Select
End With
End Sub
似乎没有任何工作簿破坏'操作。有两件事情可以想到:a)刷新Pivot工作表上的数据透视表,b)开始在xlA1中编写公式而不是记录的xlR1C1参考样式。此外,arun v推荐的解决方案显示了优点。