Нужен код для дублирования листа в дополнение к добавлению и повторению - PullRequest
2 голосов
/ 05 ноября 2019

Я пытаюсь настроить электронную таблицу, которая дублирует предыдущий лист в новую вкладку ежедневно. Я настроил его для создания нового рабочего листа и его ежедневного переименования, но я не могу понять, как добавить аспект дублирования рабочего листа.

Я уже написал довольно много кода:

Sub AddDayWkst()
Dim ws As Worksheet
Dim strName As String
Dim bCheck As Boolean

On Error Resume Next
strName = Format(Date, "mm-dd-yy")
bCheck = Len(Sheets(strName).Name) > 0

If bCheck = False Then
    Set ws = Worksheets.Add(Before:=Sheets(1))
    ws.Name = strName
End If

End Sub

Все, что мне нужно, - это чтобы программа дублировала рабочий лист предыдущего дня и вставила его в новый создаваемый рабочий лист.

1 Ответ

1 голос
/ 06 ноября 2019
Sub AddDayWkst()

    Dim ws As Worksheet
    Dim strNewName As String, strOldName As String
    Dim bValid As Boolean

    strNewName = Format(Date, "mm-dd-yy")
    strOldName = Format(Date - 1, "mm-dd-yy")

    bValid = WorksheetExists(strOldName)

    If bValid Then

        Set ws = Sheets(strOldName)
        ws.Copy before:=Worksheets(1)
        Worksheets(1).Name = strNewName

    End If

End Sub

Function WorksheetExists(shtName As String, Optional wb As Workbook) As Boolean

    Dim sht As Worksheet

    If wb Is Nothing Then Set wb = ThisWorkbook

    On Error Resume Next

    Set sht = wb.Sheets(shtName)
    On Error GoTo 0

    WorksheetExists = Not sht Is Nothing

End Function
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...