上面公式报错复制和粘贴的区域不同
时间: 2023-10-29 09:04:24 浏览: 138
抱歉,看来代码中有一个小错误。下面是更新后的代码:
```VBA
Sub SaveAsText()
Dim mySheet As Worksheet
Dim newSheet As Workbook
Dim savePath As String
Dim saveName As String
' 获取当前工作表和保存路径及文件名
Set mySheet = ActiveSheet
savePath = Environ("USERPROFILE") & "\Desktop\"
saveName = mySheet.Name & ".xlsx"
' 将所有公式转为文本
mySheet.Cells.Copy
mySheet.Cells.PasteSpecial xlPasteValues, xlPasteSpecialOperationNone, False, True
' 另存为新工作表
Set newSheet = Workbooks.Add
newSheet.Sheets(1).Cells.Copy mySheet.Cells
newSheet.SaveAs Filename:=savePath & saveName, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
newSheet.Close
' 恢复原工作表
Application.CutCopyMode = False
End Sub
```
把 `newSheet.Sheets(1).Cells.Copy mySheet.Cells` 修改为 `mySheet.Cells.PasteSpecial xlPasteValues, xlPasteSpecialOperationNone, False, True` 即可。
再次感谢您的指正,如有其他问题请随时提出。
阅读全文