Как я могу открыть определенный лист с именем через месяц?

378
Valerie

У меня есть несколько вкладок месяца

Как открыть конкретный способ с помощью VBA? Я попытался использовать этот фрагмент :

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 

но это для имен листов, которые названы в честь дат, отформатированных как mm-dd, например, "11-7" или "11-14" .

Как изменить этот код, чтобы он работал для имен листов, которые содержат названия месяцев, такие как «май», «июнь» или «июль» ?

-1

2 ответа на вопрос

2
Leviathan

To automatically bring the current month's tab to the foreground after opening a workbook, you can simply use this:

Private Sub Workbook_Open() Sheets(Format(Now(), "mmmm")).Select End Sub 

NOTE: This will only work if the month names are in the same language than the OS.

1
Gary's Student

To get the name of the current month:

Sub tretdc() tabstr = Format(Now(), "mmmm") MsgBox tabstr End Sub 

Похожие вопросы