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