Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.08.2011, 14:01   #1
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию Скрыть, отобразить листы, нажатием F3

У меня есть три листа, Июль, Август, Сентябрь, есть макрос:
Код:
'********* Переключиться на Лист, текущего месяца ********
Sheets(MonthRus(Month(Now))).Select
  If Err.Number > 0 Then
    Err.Clear
        Sheets(MonthRus(Month(Now) - 1)).Select
    If Err.Number > 0 Then ShN = Sheets.Count Else ShN = Sheets(MonthRus(Month(Now) - 1)).Index
        Sheets.Add After:=Sheets(ShN)
    Sheets(ShN + 1).Name = MonthRus(Month(Now))
  End If
Листы Июль и Сентябрь, пока не нужны, но в Августе я могу посмотреть и вспомнить, что там было в Июле. Формат - Отобразить... долгая песня, хочу нажать F3, все листы отобразились, вторичное нажатие F3, скрылись листы не активных месяцев, если вторичное нажатие F3, вызывает >> кода, то просто закрыл книгу, а при открытии, листы с не активными месяцами, скрылись.
valerij вне форума Ответить с цитированием
Старый 03.08.2011, 15:11   #2
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

Что такое >> кода ?
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 03.08.2011, 15:41   #3
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от Казанский Посмотреть сообщение
Что такое >> кода ?
Много букавок в коде. Вот прикрепил, пример.
Вложения
Тип файла: rar ZXC.rar (13.5 Кб, 9 просмотров)
valerij вне форума Ответить с цитированием
Старый 03.08.2011, 17:00   #4
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Я сделал, через закрытие книги, не двойное нажатие F3, но наворочал...
Можно упростить?
Чуток подправил, теперь без закрытия...
Код:
.OnKey "{F3}", "Отобразить"
'***** Переключиться на Лист, текущего месяца *****
    If Sheets(1).Visible = False Then If Sheets(2).Visible = False _
        Then If Sheets(3).Visible = False Then GoTo 1
    If Лист1.Name <> MonthRus(Month(Now)) Then Sheets(1).Visible = False
    If Лист2.Name <> MonthRus(Month(Now)) Then Sheets(2).Visible = False
    If Лист3.Name <> MonthRus(Month(Now)) Then Sheets(3).Visible = False
1:      Sheets(MonthRus(Month(Now))).Select
_____________________________________________________
Function MonthRus(m) As String
    Select Case m
        Case 7:  MonthRus = "Июль"
        Case 8:  MonthRus = "Август"
        Case 9:  MonthRus = "Сентябрь"
    End Select
End Function
_________________________________________________
Sub Отобразить()
    Sheets(1).Visible = True
        Sheets(2).Visible = True
    Sheets(3).Visible = True
End Sub
Вложения
Тип файла: rar M.rar (16.5 Кб, 16 просмотров)

Последний раз редактировалось valerij; 04.08.2011 в 01:34.
valerij вне форума Ответить с цитированием
Старый 04.08.2011, 09:40   #5
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Не могу одну, правда не значительную, проблему решить.
Закрыл я книгу 31 августа с одним листом_Август, а 1 сентября, открыл книгу и тут же получил ошибку, т. к. лист_Сентябрь, скрыт.
Конечно, жму F3, сохраняю, открываю и все ОК.
Желатель исправить, подскажите?
Невероятно, но сделал!!!
Код:
If Sheets(1).Visible = False Then If Sheets(2).Visible = False _
    Then If Sheets(3).Visible = False Then GoTo 1
        Sheets(MonthRus(Month(Now))).Visible = True
If Лист1.Name <> MonthRus(Month(Now)) Then Sheets(1).Visible = False
If Лист2.Name <> MonthRus(Month(Now)) Then Sheets(2).Visible = False
If Лист3.Name <> MonthRus(Month(Now)) Then Sheets(3).Visible = False
1:    Sheets(MonthRus(Month(Now))).Select

Последний раз редактировалось valerij; 04.08.2011 в 10:08.
valerij вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скрыть Листы, не активных месяцев valerij Microsoft Office Excel 21 04.01.2011 18:29
Как скрыть все листы в ЕКСЕЛЕ кроме определенного списка sasha_prof Microsoft Office Excel 2 03.12.2010 21:09
Скрыть Листы по условию valerij Microsoft Office Excel 15 20.04.2010 19:32
Скрыть листы по запросу RUBEY Microsoft Office Excel 23 16.01.2009 13:40
Скрыть-Отобразить с помощью VBA ZORRO2005 Microsoft Office Excel 5 01.09.2008 09:11