Почему этот код не работает, чтобы создать новый лист с вводом данных - PullRequest
0 голосов
/ 09 мая 2019

Хотя я совсем новичок в VBA, я написал следующее, но я потерян, так как создание нового листа в порядке и копирование диапазона данных, но вместе все идет не так, и ничего не происходит?

Любая помощь с благодарностью получена.

Private Sub CommandButton1_Click()
    Dim Sheet As Worksheet
    For Each Sheet In ThisWorkbook.Worksheets
        If Sheet.Name <> "Project Evaluation Tool" And Sheet.Name <> "fx" And Sheet.Name <> "Needs" Then
            Sheet.Range("D12:L18").Copy
            Sheet.Range("Q12:Y18").PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
        End If
    Next
End Sub

Sub Wsh_PasteSpecial()
Dim WshSrc As Worksheet
Dim WshTrg As Worksheet

Rem Set working worksheets
Set WshSrc = ThisWorkbook.Worksheets("Source")
Set WshTrg = ThisWorkbook.Worksheets("Target")

    WshSrc.Cells.Copy
    With WshTrg.Cells
        .PasteSpecial Paste:=xlPasteColumnWidths
        .PasteSpecial Paste:=xlPasteFormats
        .PasteSpecial Paste:=xlPasteFormulasAndNumberFormats
        Application.CutCopyMode = False
    End With
End Sub

Что я пытаюсь сделать:

Этап 1 - Нажмите кнопку, чтобы скопировать / захватить диапазон информации на одном листе

Этап 2 - Создатьновый лист (бланк) из мастер-шаблона

Этап 3 - Вставить данные этапа 1 в соответствующие ячейки на этапе 2

Этап 4 - добавить имя во вкладку

Этап 6 -Пользователь обычно добавляет данные для заполнения шаблона

Этап 7 - Включение шаблона для сохранения и печати PDF.

Этап 8 - Повтор, но не перезаписывать предыдущий, а создавать новый и т. Д.

Помощь ??

1 Ответ

0 голосов
/ 09 мая 2019

Как указывал @SJR, вы создаете объект рабочего листа, но фактический рабочий лист не создается.Вставьте следующее в ваш код:

ActiveWorkbook.Worksheets.Add
ActiveSheet.Name = "Target"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...