Страницы: 1
RSS
Как закрепить листы, Все листы не влезут в экран. А к первому самое частое обращение
 
Здравствуйте! Знаю что можно макросом это сделать. Подкиньте пожалуйста код.
 
С помощью этого кода можно помещать определённый лист перед активным листом.
Код
Option Explicit

Dim WithEvents App As Application

Private Sub Workbook_Open()
    Set App = Application
End Sub

Private Sub App_SheetActivate(ByVal Sh As Object)
    Const mySheetName = "Лист1"
    If Sh.Name <> mySheetName Then
        Application.EnableEvents = False
        On Error Resume Next
        Sheets(mySheetName).Move Before:=Sh
        Sh.Activate
        On Error GoTo 0
        Application.EnableEvents = True
    End If
End Sub
 
Цитата
написал:
Спасибо! Но что то у меня не получается. Может этот макрос должен делать другое. Мне же нужно что бы лист с названием Сводный оставался всегда на месте когда я добираюсь до листов которые не помещаются в экран.
 
Цитата
avaraa написал:
Знаю что можно макросом это сделать
откуда такая уверенность? Я вот не знаю как сделать, чтобы ярлык листа был всегда на виду.
Может подойдет штатное средство - жмете левой кнопкой мыши на стрелочке перехода по листам(в нижней левой части - левее всех ярлыков листов)?
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Цитата
написал:
Но что то у меня не получается.
- Заменили ли название листа в строке "Const mySheetName = "Лист1""?
- Вставили ли код в ЭтаКнига?
- Запускали ли макрос Workbook_Open?
 
МатросНаЗебре, даже сделав все это - для работы кода надо щелкнуть на любой другой лист и выделить его :) Скорее всего, ТС этого не делает или это действие логически лишнее изначально(типа надо видеть первый лист всегда при простой прокрутке "списка" листов).
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Цитата
Дмитрий(The_Prist) Щербаков написал:
жмете левой кнопкой мыши на стрелочке перехода по листам
только не левой, а правой кнопкой, тогда откроется список всех листов и можно перейти на любой из них
или CTRL + ЛКМ по стрелке влево и прыгнет на 1-й лист... во всплывающей подсказке так и написано жиж... :)
Изменено: BodkhiSatva - 14.01.2025 17:44:11
 
Дмитрий(The_Prist) Щербаков, согласен, при прокрутке такой метод не подойдёт.
avaraa, ещё можно посадить активацию листа на горячую клавишу. И переходить на нужный лист с её помощью. Этот вариант можно дополнить возвратом с помощью той же клавиши на лист, с которого был выполнен переход; для этого надо будет хранить где-нибудь имя листа.
 
еще по навигации...
можно на 1-м листе сделать список листов (содержание книги) с гипрессылками на листы и на каждом листе гиперссылку на 1-й лист, тогда из любого места книги можно будет вернуться на 1-й лист.
сам использую такой метод при ведении файла реестра отчетов по гозам, в книге >300 листов...
составление списка и расстановка гиперссылок происходит при формировании файла макросом...
Изменено: BodkhiSatva - 14.01.2025 22:34:34
 
Да просто открыть второе окно с этим листом, удобнее на втором мониторе.
Это если практически нужно работать, а не только принципиально "чтоб ярлык"
 
Цитата
написал:
Запускали ли макрос Workbook_Open?
Извините за поздний ответ. Меня не было возле ПК. Не разобрался с Workbook_Open
 
После вставки кода надо поместить курсор в процедуру Workbook_Open и нажать F5(или на панели Run -Run Sub).
Или сохранить книгу, закрыть и открыть заново.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Цитата
написал:
Workbook_Open и нажать F5
Не срабатывает. Макросы включены, но после нажатия F5 не пойму что должно произойти. Возвращаюсь в таблицу, лист Сводный, всё также подвижен
 
Цитата
avaraa написал:
Макросы включены, но после нажатия F5 не пойму что должно произойти
Цитата
Дмитрий(The_Prist) Щербаков написал:
даже сделав все это - для работы кода надо щелкнуть на любой другой лист и выделить его :) Скорее всего, ТС этого не делает или это действие логически лишнее изначально
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Цитата
написал:
надо щелкнуть на любой другой лист и выделить его
Спасибо, работает!
Но не совсем так. Нужно бы чтобы лист Сводный оставался всегда закреплён на одном месте. И когда нажимаешь на лист Сводный, то весь список лисов возвращался в самое начало. Так можно реализовать?
Изменено: avaraa - 19.01.2025 10:55:57
Страницы: 1
Наверх