以下是我在試圖刪除爲了節省,只有特定的工作表一個工作簿中的張數的代碼:如何確保VBA代碼將工作簿保存到聲明的文件路徑中?
Sub SeperateWB2()
Dim ws As Worksheet
Dim wb As Workbook
Dim sheetname As Variant
Dim ddl As Variant
ddl = "PhaseTransferDropDowns"
sheetname = InputBox("Please specify sheet name:")
Path = "C:\My Documents\Phase Transfer\Test\"
For Each ws In ThisWorkbook.Worksheets 'SetVersions
If Not ws.Name = sheetname And Not ws.Name = ddl Then
Application.DisplayAlerts = False
ws.Delete
End If
Next ws
wb.SaveAs Path & ws.Name & ".xlsx", Excel.XlFileFormat.xlOpenXMLWorkbook
wb.Close
Set wb = Nothing
End Sub
迴路工作正常,但它拒絕拯救我有路徑上的工作簿指定。
我得到這個消息:「運行時錯誤91:對象變量或帶塊變量未設置」
誰能幫助?
嘗試'PATH =「%USERPROFILE%\文件\相轉移\測試\」',但它可能取決於您的Windows版本,並且沒有錯誤控制,以確保路徑存在.. – Jeeped
'設置wb = ActiveWorkbook'可能 – GibralterTop
您最好將所需的工作表複製到任何位置。這將使用複製的工作表創建一個新的工作簿。然後使用'activeworkbook.saveas ....'。比刪除所有其他工作表更容易。 – Jeeped