2
我发现了一个旧脚本在线关闭文档而不保存更改,然后重新打开该文档:宏还原更改因为保存
Sub RevertFile()
wkname = ActiveWorkbook.Path & "\" & ActiveWorkbook.Name
ActiveWorkbook.Close Savechanges:=False
Workbooks.Open Filename:=wkname
End Sub
我想这一点,因为你不能“撤销”的变化由运行宏造成的。但是,它似乎不适用于MS Office v1609。首先,文档在关闭后不会重新打开。其次,修改是当我希望他们不成为时保存。我该如何重写这个脚本才能使其工作?谢谢。
这是我正在使用的另一个子程序。
Sub FixPlatforms()
'PURPOSE: Find & Replace a list of text/values throughout entire workbook
'SOURCE: www.TheSpreadsheetGuru.com/the-code-vault
Dim sht As Worksheet
Dim platList As Variant
Dim x As Long
platList = Array _
(_
"PS4", "PlayStation 4", _
"PS3", "PlayStation 3", _
"PS2", "PlayStation 2", _
"PSV", "PlayStation Vita", _
"PSP", "PlayStation Portable", _
"WIN", "Microsoft Windows", _
"SNES", "Super Nintendo Entertainment System" _
)
'Loop through each item in Array lists
For x = 1 To UBound(platList) Step 2
'Loop through each worksheet in ActiveWorkbook
For Each sht In ActiveWorkbook.Worksheets
sht.Cells.Replace What:=platList(x), Replacement:=platList(x - 1), _
LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, _
SearchFormat:=False, ReplaceFormat:=False
Next sht
Next x
End Sub
它有什么问题吗?
您的子过程是否保存工作簿?该代码没有理由保存更改。 – Jeeped
我用另一个例程更新了我的问题。 – posfan12
我没有看到任何错误,虽然我会颠倒循环的顺序,并循环通过外部工作表和内部数组(或使用工作表数组来进行全局搜索和替换)。 – Jeeped