[英]Excel VBA: I switched to a new workbook and want to delete a sheet, but code is trying to delete sheet in macro workbook
我正在做一個相當大的貓救援項目。 我是一名志願者,只知道足夠的 VBA 是危險的。 我有一個包含我所有數據的電子表格。 有好幾張。 我編寫了一些代碼來按順序獲取數據,然后通過數據獲取 go,並為每只貓提取信息,並創建一個新工作簿,其中包含每只貓的工作表以及已編譯信息。 我已經走到最后一步,不知道如何完成我想做的事情。 創建新工作簿時,它會自動添加一個名為 Sheet1 的工作表。 我添加了所有新工作表,並想刪除空白的初始 Sheet1。 當我通過逐步完成代碼中的這一點時,我看到調試顯示它看到的是第一個工作簿中包含數據和 VBA 代碼的工作表,而不是包含所有貓姓名工作表的新工作簿. 我不確定我錯過了什么。 這是我遇到問題的代碼的一小部分。
....
Workbooks.Open(path_and_newfilename).Activate
If (MyFunctions.Sheet_Exists("Sheet1") = True) Then
Application.DisplayAlerts = False
Worksheets("Sheet1").Delete
Application.DisplayAlerts = True
End If
ActiveWorkbook.Save
function 應該有一個工作簿參數,所以我認為這很容易失敗。
With Workbooks.Open(path_and_newfilename)
If MyFunctions.Sheet_Exists("Sheet1") Then
Application.DisplayAlerts = False
.Worksheets("Sheet1").Delete
Application.DisplayAlerts = True
End If
.Save
'.Close False
End With
沒有 function:
With Workbooks.Open(path_and_newfilename)
On Error Resume Next
Dim ws As Worksheet: Set ws = .Worksheets("Sheet1")
On Error GoTo 0
If Not ws Is Nothing Then
Application.DisplayAlerts = False
ws.Delete
Application.DisplayAlerts = True
End If
.Save
'.Close False
End With
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.