#excel #vba
#превосходить #vba
Вопрос:
Я встроил код в командную кнопку, которая идентифицировала один лист, скопировала значения и формулы и создала отдельную отдельную книгу, которую мы используем для заказа материалов. Оригинальная формула отлично работала и была простой, когда был только 1 целевой лист. Я добавил 4 дополнительных листа для записи, ядро формулы все еще работает, и оно копирует/отсоединяет отдельную книгу для заказа, но теперь оно также создает копию исходной книги без всякой причины.
Как я могу заставить его копировать и отсоединять только листы в формуле, а не всю книгу целиком?
Private Sub CommandButton1_Click() ' Plain_Copy Macro ' Sheets("PROCUREMENT").Visible = True Sheets("Request").Visible = True Sheets("LISTS").Visible = True Sheets("Copy").Visible = True Dim TheActiveWindow As Window Dim TempWindow As Window Dim ws As Worksheet With ActiveWorkbook Set TheActiveWindow = ActiveWindow Set TempWindow = .NewWindow .Sheets(Array("REQUESTOR", "PROCUREMENT", "Request", "LISTS", "Copy")).Copy Application.ScreenUpdating = False For Each ws In ActiveWorkbook.Worksheets With ws.UsedRange .Copy .PasteSpecial xlPasteFormulasAndNumberFormats End With TempWindow.Close Next ws Application.CutCopyMode = False Application.ScreenUpdating = True End With
Комментарии:
1. Какой именно из них является «копией исходного рабочего листа»? Примечание: вы продолжаете использовать «формулу», но это звучит так, как будто вы имеете в виду «код».
2. Извини, чувак, я все еще новичок в программировании. Все это самоучка, как вы, вероятно, можете сказать, лол, вам нужен был исходный код, который я использовал? или вы спрашиваете, какой раздел этого кода копирует оригинал
3. Правильно, итак, в новой рабочей книге, как называется дополнительный, ненужный лист?
4.
.Sheets(Array("REQUESTOR", "PROCUREMENT", "Request", "LISTS", "Copy")).Copy
создает новую рабочую книгу.5. У меня было такое чувство, что в этом и была проблема.. Большое спасибо, Бен. Я удалил их сегодня утром, когда настраивал это, и он продолжал выдавать коды ошибок. Теперь все работает нормально