Как вставить месяц / год на нескольких листах? - PullRequest
0 голосов
/ 19 января 2019

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

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

Sub dateins()
' Date as Mo and year. Current month minus one.
Dim dash As Worksheet, daily As Worksheet, mon As Worksheet
Dim Thisday As Date, Rptmon As Date, ws As Worksheet

Set dash = Sheets("Dashboard")
Set daily = Sheets("Daily")
Set mon = Sheets("Monthly")
Thisday = Date

Rptmon = DateAdd("m", -1, Thisday)
Rptmon = Format(Thisday, "mmmm yyyy")
   For Each ws In ThisWorkbook.Sheets
    Select Case ws.Name
     Case "dash", "daily", "mon"
        If ws.Range("A2") = "" Then
            ws.Range("A2").Replace What:="", Replacement:=Rptmon
        End If
   End Select
  Next ws

End Sub

Этот цикл не вставляет дату ни на один из листов. Спасибо за вашу помощь!

1 Ответ

0 голосов
/ 20 января 2019

Ваш вариант выбора просматривает имена рабочих листов, а не переменные, которые вы присвоили объектам рабочей таблицы.

Sub dateins()

    ' Date as Mo and year. Current month minus one.
    Dim dash As Worksheet, daily As Worksheet, mon As Worksheet
    Dim Thisday As Date, Rptmon As Date, ws As Worksheet

    Set dash = Sheets("Dashboard")
    Set daily = Sheets("Daily")
    Set mon = Sheets("Monthly")
    Thisday = Date

    Rptmon = DateAdd("m", -1, Thisday)
       For Each ws In ThisWorkbook.Sheets
        Select Case ws.Name
          Case "Dashboard", "Daily", "Monthly"
            If ws.Range("A2") = "" Then
                ws.Range("A2") = Rptmon
                ws.Range("A2").numberformat = "mmmm yyyy"
            End If
       End Select
      Next ws

End Sub

Вы хотите назначить истинную дату для A2 и позволить формату ячейки отобразить "мммм гггг" .

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