将工作表名称添加为日期和每次运行的递增日期

时间:2018-09-27 19:12:58

标签: excel vba

我使用Excel宏将工作表名称添加为日期。可以。

我想使其每天递增。

例如今天在2018年9月28日,我单击按钮以添加工作表。第二天,当我单击按钮时,应该添加一个名称为29-09-2018的工作表,而不会从单元格引用中获取价值。

Sub datesheets()
Dim i As Integer
i = 1

For Each w In Worksheets
    If w.Name = "26.09.2018" Then
        found = True
        Workbook.Sheets.Add(, ActiveSheet).Name = "26.09.2018" + i
    End If
Next
If found = False Then
        Worksheets.Add(, ActiveSheet).Name = "26.09.2018"
End If

End Sub

1 个答案:

答案 0 :(得分:1)

我更改了日期的列出方式-现在,该日期基于您从Now()函数中获取的今天的日期。使用DateAdd(),我可以告诉它添加带有明天日期的新工作表。

我还更改了第一个Worksheets.Add(...)调用,以将新的工作表放在前一天的紧后,因为这似乎是您打算发生的事情。

Sub datesheets()

    Dim found As Boolean

    Dim w As Worksheet
    For Each w In Worksheets
        If w.Name = Format(Now(), "dd.mm.yyyy") Then
            found = True

            Worksheets.Add(, w).Name = Format(DateAdd("d", 1, Now()), "dd.mm.yyyy")
        End If
    Next w

    If found = False Then
        Worksheets.Add(, ActiveSheet).Name = Format(Now(), "dd.mm.yyyy")
    End If

End Sub