я продолжать работать в ошибки, пытаясь удалить большинство листов в книге, а затем добавить их обратно.Попытка удалить все листы в книге, а затем добавить другие листы с использованием VBA
Я не могу удалить все листы в Учебное пособие; должен быть хотя бы один лист. Хорошо. Поэтому я сначала создаю лист под названием TempSheet
.
targetWorkbook = ActiveWorkbook.Name
'/* ...more code... */
Application.Workbooks(targetWorkbook).Activate
Application.Workbooks(targetWorkbook).Worksheets.Add.Name = "TempSheet"
Так что теперь, я хочу, чтобы удалить все листы, кроме TempSheet
в моей книге. Так что я пытаюсь сделать это:
For Each ws1 In Application.Workbooks(targetWorkbook).Worksheets
If ws1.Name <> "TempSheet" Then
Workbooks(targetWorkbook).Sheets(ws1.Name).Delete '/* Line X. */
End If
Next
Когда я пошагово мой код и получить Line X
, я получаю ошибку Can't enter break mode at this time
. Я попытался заменить весь код на Line X
только ws1.Delete
, я получаю то же сообщение. Я хотел бы хотя бы пройти через код, чтобы я мог видеть, что листы удаляются.
Другая часть моего кода такова, что я хотел бы взять все листы из другой книги и поместить их в первую книгу, где я удалил все листы сверху. Мой код ниже:
Application.Workbooks("OtherWorkbook").Activate '/* Line Y. */
For Each ws2 In Application.Workbooks(sheetsWorkbook).Worksheets
ws2.Copy After:=Workbooks(targetWorkbook).Sheets(ws1.Name)
Next
я поставил точку останова на Line Y
, и после того, как я получаю ошибку Can't enter break mode at this time
, я нажал на кнопку Continue
. Вместо остановки в точке останова я получаю ошибку Run-time error '424'. Object required
, которая не показывает мне, к какой строке она относится, и не позволяет мне отлаживать (кнопка grey'd out и единственная кнопка, которую я могу выбрать, это end
).
Любые предложения о том, как я могу это достичь?
Не могли бы вы попытаться заключить свой цикл удаления с некоторыми отключенными событиями, предупреждениями, screenUpdating и расчетами? –
Что такое ws1? Размещается ли он как рабочий лист? – Davesexcel
Поскольку вы хотите удалить все листы, почему бы вам не начать с новой книги? – user3598756