2014-11-07 2 views
-2

У меня есть 52 листа в книге excel, и каждый из них назван в соответствии с датой месяца в формате: 11-3, 11-10, 11-17, 11-24. День соответствует понедельнику недели.Открыть конкретный лист в соответствии с текущей датой

Моя цель - иметь код, который откроет книгу на листе в соответствии с датой. Так, например, если я открыл его сегодня (7 ноября), то он откроется для листа 11-3. Если я открою его на следующей неделе 7 ноября, он откроет 11-10 листов. Я пробовал несколько разных методов, которые не работают. Если у кого-то есть предложение, мы будем очень благодарны.

Благодаря

+2

'Я пробовал несколько разных методов, которые не работают.' Какие методы? Можем ли мы их увидеть? –

ответ

0

Нечто подобное может работать, Workbook_Open события модуля ThisWorkbook в.

Private Sub Workbook_Open() 

Dim ws As Worksheet 
Dim mnth As String, dte As String, mday As String 

mday = Now() - Weekday(Now(), 3) 

mnth = Month(mday) 
dte = Day(mday) 

tabstr = mnth & "-" & dte 

    For Each ws In Worksheets 
     If ws.Name = tabstr Then 
      ws.Select 
      Exit For 
     End If 
    Next 
End Sub 
+0

Отлично работает, я добавил +1 к mday, и он регистрирует все дни правильно. Спасибо за отличный ответ! – user3816811

Смежные вопросы