Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


McLotos, спасибо, ясно.

Цитата McLotos:
Вроде как срабатывает, но как-то странно. Unable to set the Visible property of the Worksheet class »
В рабочей книге должен оставаться видимым хотя бы один рабочий лист или диаграмма. Это тот самый случай, про который я писал выше:
Цитата Iska:
И, кстати: не забудьте предусмотреть случай, когда название ни одного листа не совпадёт с текущей датой. »
В данном случае просто ошибка несовпадения, но результат — всё равно налицо.

Добавьте следующий код в рабочую книгу:
Код: Выделить весь код
Sub ShowSheetsByCurrentDateOnly()
    Dim objSheet As Object
    Dim strCurrentDate As String
    
    
    strCurrentDate = CStr(Date)
    
    If SheetExists(ThisWorkbook, strCurrentDate) Then
        ThisWorkbook.Sheets.Item(strCurrentDate).Visible = xlSheetVisible
        
        For Each objSheet In ThisWorkbook.Sheets
            If objSheet.Name <> strCurrentDate Then
                objSheet.Visible = xlSheetVeryHidden
            End If
        Next objSheet
    End If
End Sub

Function SheetExists(objWorkbook As Workbook, strSheetName As String) As Boolean
   On Error Resume Next
   
   SheetExists = Len(objWorkbook.Sheets.Item(strSheetName).Name) <> 0
End Function
и вставьте вызов процедуры «ShowSheetsByCurrentDateOnly()» в функцию «Auto_open()».
Это сообщение посчитали полезным следующие участники:

Отправлено: 12:26, 06-03-2012 | #8