Как скрыть интерфейс excel

Обновлено: 05.07.2024

Предположим, что у нас имеется вот такая таблица, с которой приходится "танцевать" каждый день:

Кому таблица покажется маленькой - мысленно умножьте ее по площади в двадцать раз, добавив еще пару кварталов и два десятка крупных российских городов.

Задача - временно убирать с экрана ненужные в данный момент для работы строки и столбцы, т.е.,

  • скрывать подробности по месяцам, оставляя только кварталы
  • скрывать итоги по месяцам и по кварталам, оставляя только итог за полугодие
  • скрывать ненужные в данный момент города (я работаю в Москве - зачем мне видеть Питер?) и т.д.

В реальной жизни примеров таких таблиц - море.

Способ 1. Скрытие строк и столбцов

Способ, прямо скажем, примитивный и не очень удобный, но два слова про него сказать можно. Любые выделенные предварительно строки или столбцы на листе можно скрыть, щелкнув по заголовку столбца или строки правой кнопкой мыши и выбрав в контекстном меню команду Скрыть (Hide) :

Для обратного отображения нужно выделить соседние строки/столбцы и, щелкнув правой кнопкой мыши, выбрать в меню, соответственно, Отобразить (Unhide) .

Проблема в том, что с каждым столбцом и строкой придется возиться персонально, что неудобно.

Способ 2. Группировка

Если выделить несколько строк или столбцов, а затем выбрать в меню Данные - Группа и структура - Группировать (Data - Group and Outline - Group) , то они будут охвачены прямоугольной скобкой (сгруппированы). Причем группы можно делать вложенными одна в другую (разрешается до 8 уровней вложенности):

Более удобный и быстрый способ - использовать для группировки выделенных предварительно строк или столбцов сочетание клавиш Alt+Shift+стрелка вправо, а для разгруппировки Alt+Shift+стрелка влево, соответственно.

Такой способ скрытия ненужных данных гораздо удобнее - можно нажимать либо на кнопку со знаком "+" или "-", либо на кнопки с цифровым обозначением уровня группировки в левом верхнем углу листа - тогда все группы нужного уровня будут сворачиваться или разворачиваться сразу.

Кроме того, если в вашей таблице присутствуют итоговые строки или столбцы с функцией суммирования соседних ячеек, то есть шанс (не 100%-ый правда), что Excel сам создаст все нужные группировки в таблице одним движением - через меню Данные - Группа и структура - Создать структуру (Data - Group and Outline - Create Outline) . К сожалению, подобная функция работает весьма непредсказуемо и на сложных таблицах порой делает совершенную ерунду. Но попробовать можно.

В Excel 2007 и новее все эти радости находятся на вкладке Данные (Data) в группе Структура (Outline) :

Способ 3. Скрытие помеченных строк/столбцов макросом

Этот способ, пожалуй, можно назвать самым универсальным. Добавим пустую строку и пустой столбец в начало нашего листа и отметим любым значком те строки и столбцы, которые мы хотим скрывать:

Теперь откроем редактор Visual Basic (ALT+F11), вставим в нашу книгу новый пустой модуль (меню Insert - Module) и скопируем туда текст двух простых макросов:

Как легко догадаться, макрос Hide скрывает, а макрос Show - отображает обратно помеченные строки и столбцы. При желании, макросам можно назначить горячие клавиши (Alt+F8 и кнопка Параметры), либо создать прямо на листе кнопки для их запуска с вкладки Разработчик - Вставить - Кнопка (Developer - Insert - Button) .

Способ 4. Скрытие строк/столбцов с заданным цветом

Допустим, что в приведенном выше примере мы, наоборот, хотим скрыть итоги, т.е. фиолетовые и черные строки и желтые и зеленые столбцы. Тогда наш предыдущий макрос придется немного видоизменить, добавив вместо проверки на наличие "х" проверку на совпадение цвета заливки с произвольно выбранными ячейками-образцами:

Однако надо не забывать про один нюанс: этот макрос работает только в том случае, если ячейки исходной таблицы заливались цветом вручную, а не с помощью условного форматирования (это ограничение свойства Interior.Color). Так, например, если вы с помощью условного форматирования автоматически подсветили в своей таблице все сделки, где количество меньше 10:

outline7.jpg

. и хотите их скрывать одним движением, то предыдущий макрос придется "допилить". Если у вас Excel 2010-2013, то можно выкрутиться, используя вместо свойства Interior свойство DisplayFormat.Interior, которое выдает цвет ячейки вне зависимости от способа, которым он был задан. Макрос для скрытия синих строк тогда может выглядеть так:

Ячейка G2 берется в качестве образца для сравнения цвета. К сожалению, свойство DisplayFormat появилось в Excel только начиная с 2010 версии, поэтому если у вас Excel 2007 или старше, то придется придумывать другие способы.

Excel предлагает возможность скрывать элементы своего интерфейса, для того чтобы настроить рабочее пространство. В некоторых случаях вы можете изменять параметры отображения несколькими способами. Для каждого из элементов, перечисленных в этой статье, я покажу вам самый простой способ скрытия из всех возможных.

Скрытие элементов с помощью команд ленты

Используя соответствующие флажки в группе Показать вкладки Вид, можно скрыть следующие элементы главного окна программы.

  • Линейка. При включенном режиме разметки страницы установите флажок Линейка, чтобы отобразить линейки в верхней и левой части окна. Если вам нужно увеличить рабочее пространство, то отключите отображение линеек.
  • Сетка. Если флажок Сетка не установлен, то сетка ячеек не отображается. Если вы форматируете диапазоны с помощью границ ячеек, отключение сетки сделает границы более заметными.
  • Строка формул. Строка формул, расположенная под лентой, отображает содержимое выбранной ячейки. Для получения дополнительного пространства рабочего листа скройте ее, сняв флажок Строка формул.
  • Заголовки строк и столбцов. Если флажок Заголовки не установлен, то заголовки строк (числа) и столбцов (буквы) отображаться не будут.

Скрытие элементов главного окна с помощью клавиатуры

С помощью клавиатуры можно изменить перечисленные ниже объекты.

  • Лента. Нажимайте Ctrl+F1, чтобы включить (отключить) отображение ленты. Вкладки останутся видимыми, и при щелчке кнопкой мыши на них лента отобразится на некоторое время.
  • Символы структуры. Этот параметр уместен, только если вы добавили структуру листа (с помощью команды Данные ► Структура ► Группировать). Если вам не хочется видеть символы структуры, их можно отключить. Или вы можете нажать Ctrl+8 для переключения режима отображения символов структуры.

Скрытие элементов с помощью диалогового окна Параметры Excel

Выберите команду Файл ► Параметры и в открывшемся окне Параметры Excel перейдите в раздел Дополнительно. Здесь имеются три области — Экран, Показать параметры для следующей книги и Показать параметры для следующего листа. С помощью приведенных в них настроек можно отобразить те или иные элементы Excel (рис. 17.1).

Рис. 17.1. Доступные параметры отображения в разделе Дополнительно диалогового окна Параметры Excel

Рис. 17.1. Доступные параметры отображения в разделе Дополнительно диалогового окна Параметры Excel

Ниже описаны некоторые из наиболее полезных параметров.

  • Показать все окна на панели задач — если флажок установлен, то каждая книга отображается в виде отдельного значка на Панели задач Windows. На мой взгляд, это неудобно, так что я держу данный флажок неустановленным.
  • Для ячеек с примечаниями показывать — переключатель определяет, как будут показаны ячейки с комментариями. Я предпочитаю вариант только индикаторы (и всплывающие примечания). Варианты для переопределения этой настройки вы найдете на вкладке Рецензирование ► Примечания.
  • Показывать горизонтальную полосу прокрутки и Показывать вертикальную полосу прокрутки — установите два этих флажка в области Показать параметры для следующей книги, чтобы скрыть горизонтальные и вертикальные полосы прокрутки для книги.
  • Показывать ярлычки листов — снимите флажок, чтобы скрыть вкладку листа. При отсутствии ярлычков листов активизировать другой лист можно с помощью сочетаний клавиш Ctrl+Page Up и Ctrl+Page Down.
  • Показывать разбиение на страницы — после использования функции печати или предварительного просмотра документа Excel отображает пунктирные линии, ограничивающие страницы на рабочем листе. Отключите их отображение, сняв указанный флажок в разделе Показать параметры для следующего листа.
  • Нулевые значения — может возникнуть ситуация, когда нужно скрыть все нулевые значения в ячейках и отобразить вместо них пустые ячейки. Управляйте этой возможностью с помощью флажка Показывать нули в ячейках, которые содержат нулевые значения в области Показать параметры для следующего листа.

Настройка, которая требует использования макроса

Отключение отображения одного элемента пользовательского интерфейса требует применения макроса. Речь идет о строке состояния в нижней части окна Excel. В версиях до Excel 2007 пользователь мог легко включать и отключать отображение строки состояния. Но теперь для этого нужно использовать макрос VBA:

Sub ToggleStatusBar() With Application .DisplayStatusBar = Not .DisplayStatusBar End With End Sub

Ковры — художественные текстильные изделия (обычно с многоцветными узорами или изображениями), служат для украшения и утепления помещений, а также для звукопоглощения. Ковры вологда изготавливают многослойные и однослойные, ворсовые и безворсовые. Ворсовые ковры — многослойная ткань, в которой на нитях основы (а иногда на нитях утка) закреплены отдельные, плотно прилегающие один к другому пучки пряжи — ворсовые узлы; концы узлов (пучков), подстриженные на лицевой стороне, образуют густой бархатистый ворс, скрывающий основу и уток. Высота ворса от 3 до 18 мм. Ворс увеличивает толщину и прочность ковра, делает его пушистым и мягким. Безворсовые ковры (например, килимы, паласы, сумахи, шпалеры и др.) — плотные однослойные двусторонние ткани, образуемые нитями одной основы и одного утка.

Предположим, что у нас есть несколько ячеек, содержимое которых мы хотим скрыть от беглого взгляда чужого пользователя, не скрывая сами строки или столбцы с данными и не устанавливая пароль, который можно забыть. Можно, конечно, отформатировать их в стиле "белый шрифт на белом фоне", но это не очень спортивно, да и цвет заливки ячеек не всегда белый. Поэтому мы пойдем другим путем.

Для начала давайте создадим пользовательский стиль ячейки, применение которого будет скрывать ее содержимое с помощью особого формата. На вкладке Главная (Home) в списке стилей найдите стиль Обычный (Normal), щелкните по нему правой кнопкой мыши и выберите команду Дублировать (Duplicate):

копирование стиля ячейки

В появившемся после этого окне введите любое имя стиля (например Секрет), снимите все галочки кроме первой (чтобы стиль не менял остальные параметры ячейки) и нажмите кнопку Формат (Format):

hide-cell-content-by-format2.jpg

На вкладке Число (Number) выберите вариант Все форматы (Custom) и введите в поле Тип (Type) три точки с запятой подряд без пробелов:

скрытие содержимого ячейки Excel

Закройте все окна нажатием на ОК. Мы только что создали пользовательский формат, применение которого будет скрывать содержимое выделенных ячеек и увидеть его можно будет только в строке формул при выделении каждой отдельной ячейки:

Как это работает на самом деле

На самом деле все просто. Любой пользовательский формат может состоять из 4 фрагментов-масок, разделенных точкой с запятой, где каждый фрагмент применяется в определенном случае:

  1. Первый - если в ячейке число больше нуля
  2. Второй - если меньше
  3. Третий - если в ячейке ноль
  4. Четвертый - если в ячейке текст

Три подряд точки с запятой Excel воспринимает как четыре пустых маски для всех четырех возможных случаев, т.е. выводит пустоту при любом значении ячейки.

"Чиcтый" интерфейс Excel

Чтобы убрать с экрана все лишние элементы интерфейса Excel, можно выспользоваться таким кодом:

(скрываются все панели инструментов в Excel 2003 и лента в Excel 2007; скрываются ярлычки листов, линейки и полосы прокрутки; изменяется название окна приложения)

При необходимости можно отображать нужную панели инструментов, в то время, как остальные панели будут скрыты)

Чтобы скрывать панели инструментов Excel 2003 и ленту Excel 2007 только для одной книги,
поместите в модуль ЭтаКнига следующий код:
(при переключении на другой файл интерфейс Excel будет восстанавливаться)

См. пример в прикреплённом файле:

Комментарии

Добрый день! А можно сделать так, чтобы вместо надписи "наше окно" отображалось имя файла? Заранее, Спасибо!

Доброго времени суток! Огромное спасибо за Ваш пример, с удовольствием им пользуюсь и все работает!
Но есть один вопрос, при переходе на другую книгу Excel все восстанавливается, однако бывает момент когда панель инструментов видна но не "Зафиксирована".
Подскажите, пожалуйста, можно ли добавить в приведенный выше код алгоритм проверки: если в новой книге панель зафиксирована, то ничего не делаем, если нет, то собственно фиксируем?

Ирина, судя по описанию задачи, с вероятностью 99% вы это делаете в целях мошенничества ("угадаю результат игры заранее")
А мошенникам я не помогаю, так что ваш вопрос останется без ответа.

Добрый день! Мой макрос открывает определенные листы при наборе разных паролей. При закрытии файла срабатывает Private Sub Workbook_BeforeClose(Cancel As Boolean)- скрывает все листы, кроме Стартового, защищает лист и файл паролем. Мне нужно, чтобы при закрытии он убирал и Панель Экселя. и только при открытии Паролем администратора файла (в теле основного макроса) - была видна Панель. В Private Sub добавила строку - Application.DisplayFullScreen = False. В основном модуле - Application.DisplayFullScreen = True. не работает((
Как это можно сделать? Заранее большое спасибо! Ирина

Спасибо за ответ, макрос скрытия всех элементов (написанный Вами) срабатывает , далее запускается макрос макрос формирования панели инструментов( так же Ваш) , но в конечном итоге Вкладка Надстройка не видна на ленте, т.е. Условие "При необходимости можно отображать нужную панели инструментов, в то время, как остальные панели будут скрыты" НЕ выполняется.
В ексель я соединил два макроса Скрытие панели инструментов и формирование новой панели.Есть подозрение , что В Ексель 2010 эта процедура не работает.

Не получается что? Макрос запустить? или что-то другое?
я не телепат.
на форумах спросите, прикрепив свой файл с макросами, - тогда быстро помогут
(без файла - непонятно, что ы вас там за макросы, и как вы их запускаете)

Добрый день.Вы пишите"Тут ничего сложного нет - сначала запускаете макрос скрытия интерфейса, а следом за ним - макрос формирования панели инструментов" У меня такой вопрос-работает ли для Эксель 2010?
Я что только не пробовал, не получается. А все форумы дают ссылку на вашу статью.
За ранее спасибо.

Joann, с этим помочь не смогу (не знаю). Возможно, что никак не проверить (только через WinAPI если, - но там весьма сложный код)
Обратитесь на форумы по Excel, — может, там кто подскажет.

Каким условием проверить: Свернута-ли (не скрыта а свернута до пунктов меню) в настоящий момент лента?

Спасибо, у меня (отдельно Ваш код) тоже работает. Открываю книгу и на форме жму сразу "Выход" (без создания новой книги): закрывается. Открываю другую книгу - весь интерфейс на месте. Но стоит скопировать пару (Array) листов (только значения) и вставить в новую по FileSaveAs (новая активна в этот момент), закрыть старую без сохранения (срабатывает _BeforeClose, где и сидит RestoreInterface), то остаётся новая книга без формула и статус бара. Добавлял отдельно эти строки в конце процедуры уже после закрытия старой книги- не работает.

Только что проверил макрос в Excel 2003 и Excel 2010
Описанная вами проблема у меня не проявляется.

За видимость указанных панелей отвечает эта строка кода:


Проверьте, - может, вы изменили или удалили эту строку?

Пользуюсь кодом без .ExecuteExcel4Macro (для 2003). Есть непонятка: если в книге со спрятанным интерфейсом (а заодно и само окно программы), но видимой формой создать новую книгу и закрыть первую книгу с возвратом всего спрятанного, то остаётся видимой новая книга, но без StatusBar и FormulaBar. Приходиться ручками ставить видимость обратно. Почему так? Решение? (новая книга без макросов). Спасибо.

Это всё настраивается в том же XML, где вы прописали своё меню (задаётся видимость остальных вкладок) - никаких макросов тут не надо.

Или хотя бы чтоб оно по умолчанию грузилось.

спасибо! я и так свое меню сделал, только надо, чтобы только оно грузилось и все

Данный код может только скрыть \ отобразить ленту целиком.
Вообще, этот макрос разрабатывался для Excel 2003, просто в него была добавлена опция для Excel 2007.

Вкладки на ленте добавляются \ скрываются \ отображаются при помощи XML
Поищите в яндексе Ribbon editor
Т.е. вы в свой файл XLSM (XLSB) встраиваете этот XML - и при открытии файла автоматически отобразятся или скроются нужные вкладки.

PS: Сейчас уже можно не оставлять совместимость с Excel 2003 - времена его широкого распространения прошли.
Так что делайте своё меню (ленту) для Excel 2007\2010\2013, а не панели инструментов (которые работают и в старых версиях Excel).

а можно ли при загрузке книги оставить нужную закладку в ленте (например созданную самим "закладка1")?

Да, спасибо, панели восстановились, правда для этого пришлось макрос переносить в новый файл. Из старого это не получалось.
Спасибо за сайт. Он очень полезен нам, не самым большим специалистам в VBA.
Возник еще один вопрос. Если из файла в котором скрыты панели и окно переименовано, например, в "Наше окно", должен запускаться еще один файл, то возврат к основному файлу в макросе вызывает ошибку. Может в обращении к новому файлу следует изменить его имя на новое "Наше окно"?

Protsiv, панели не пропали, - они просто скрыты.
Впрочем, это неудивительно, - если вы запустили макрос для скрытия этих панелей.

Чтобы отобразить все панели инструментов, откройте прикреплённый к статье файл, и запустите макрос «ВосстановитьИнтерфейс»

У меня после выполнения этих макросов пропали все панели инструментов и все панели управления в Эксель-2003. Весит только строка формул.
Как вернуть все в стандартное состояние?

Тут ничего сложного нет - сначала запускаете макрос скрытия интерфейса, а следом за ним - макрос формирования панели инструментов

Private Sub Workbook_Open() ' открытие книги
УбратьВсё
ФормированиеПанелиИнструментов
End Sub
ВОТ ЭТА ЗАМЕЧАТЕЛЬНАЯ МЫСЛЬ! НО НЕ ПОЛУЧАЕТСЯ ОСТАВИТЬ ТОКА МЕНЮ НАДСТРОЕК, ПОЧЕМУ?

Поддерживаю. Аналогичная проблема. Я на свою панельку добавил кнопку сохранить, нажимаю ее и закрываю файл но все равно выскакивает окошка с предложением сохранить при этом уже отображаются заголовки строк и столбцов, листы, и пателька (файл, правка, вид. ). Подскажите как убрать запрос на сохранение а чтобы сохраняло автоматически без запроса?

У меня та же проблема в верхней части экрана синяя строка то появляется то нет.
Прекрасный сайт! Спасибо админу!

Есть глюк. Закрываем файл, в ответ на запрос о сохранении жмем "отмена" и разворачиваем ленту. Как избавиться? И как оставить кнопку печать? В VBA чайник, прошу объяснить подробно.

В 2003 все понятно со скрытием меню и программированием своего
А вот в 2007 и 2010 удается скрыть ленту, а дальше что-то я торможу как создать свое меню.

Вопрос еще такой: как запретить пользователю залезать в "параметры" в 2007 и 2010? и можноли отключить эту круглую кнопку в 2007 и "файл" в 2010?

Ваш сайт исключительно полезен для меня.
Лучшего я пока не встречал
Спасибо
С уважением, Raikhman

иа моем компе 2 версии офиса 2003 и 2010 (приходится иногда пользоваться и одной и другой)
активная всегда одна из них и это создает проблемы

есть такой код на vb6

Public Sub Main()
'On Error Resume Next
'Проверяем версию Excel
Set xlApp = New Excel.Application
xlApp.Visible = True
If Val(xlApp.Version) <> 14 Then
MsgBox "Необходим Excel-2010"
xlApp.Quit
Set xlApp = Nothing
Exit Sub
End If

если активен excel 2010 то продолжаем, а если нет, то выходим.
Проблема: если активен 2003, то для работы программы приходится переустанавливать десятку - это весьма нудно. гдето в реестре чтото есть для быстрого переключения, или чтото еще, но где?
Кроме Вас на форуме чтото все залипли
спасибо

Подскажите пожалуйста как скрыть не всю ленту, а только некоторые, конкретные вкладки, или как вариант, скрыть всю, а потом отобразить нужные.
Спасибо.

Тут ничего сложного нет - сначала запускаете макрос скрытия интерфейса, а следом за ним - макрос формирования панели инструментов

"При необходимости можно отображать нужную панели инструментов, в то время, как остальные панели будут скрыты)"

Может быть как это сделать всем очевидно, но я в затруднении.. нужно решение по котором оставалась бы только создаваемая пользовательская панель.. А как??

Сайт очень полезный и информативный!

Отличный макрос! Разработчику респект! Есть только один недостаток. При переходе с одного листа открытой книги на другой, а потом возврат на предыдущий - в верхней части экрана под заголовком окна появляется странная полоса. После выполнения последовательно макросов ВосстановитьИнтерфейс, УбратьВсё полоса пропадает, а потом снова появляется. Кроме того в Таблице настройки панелей инструментов появляется странное пустое окно выбора панели (без наименования, удалить которое невозможно. Можете что-либо прояснить по данному багу.

С уважением
Вадим

а можно проще, если надо только скрыть панели

Можно и так, конечно, но результат будет не совсем тот.

Во-первых, остаются видимыми заголовки строк и столбцов, полосы прокрутки, ярлычки листов, а в Excel 2003, помимо этого, еще и панели инструментов.

Так что упрощённый способ не даст такого результата, которого можно добиться при использовании функции ChangeInterface

Как свернуть книгу Excel при запуске?
Хочу при запуске свернуть или спрятать книгу при запуске. но чтобы она была активной. Private Sub.


Отображение формы при запуске развернутым
Надеюсь правильно сформулирую предложение. Как сделать так чтобы окно формы открывалось на весь.

Отображение формы при запуске программы
При запуске программы отображалась главная форма. теперь стала по верх неё отображаться еще одна.

Зачем её скрывать? Если там данные, то можно вынести их в настоящую БД (например Firebird), а в Excel останется только интерфейс.

Добавлено через 49 секунд
Firebird мне точно не подойдет, потому что я в этом ничего не понимаю.

Добавлено через 15 минут
И потом, при деактивации книги или при переходе на другую, все данные все равно откроются. Я просто не хочу чтоб видели "кишки" программы. Или может добавить процедуру при активации книги?

Firebird мне точно не подойдет, потому что я в этом ничего не понимаю.

Для альтернативы Excel'ю, там не много понимания требуется. Если есть желание, могу помочь.

И потом, при деактивации книги или при переходе на другую, все данные все равно откроются. Я просто не хочу чтоб видели "кишки" программы. Или может добавить процедуру при активации книги?

А если просто скрывать лист с данными?

И кстати, чтобы увидеть "кишки" программы, при таком подходе, достаточно отключить макросы при открытии книги.

Спасибо большое. Я сейчас скачаю вот этот Firebird и посмотрю что это. А там синтаксис такой же как VBA или там другой язык? Про скрывать лист, то там их несколько, где то данные, где то настройки, где запросы к БД SQl. Поэтому лучше им этого не видеть.

При запуске программы создать обе формы, а потом первую скрыть, вторую показать
У меня проект с двумя формами. Одна главная, а другая появляется при нажатии кнопки. Вторая.


Отображение данных при запуске формы содержащей фильтр по полю со списком
Доброго дня. Такой вопрос. Имеется База данных с формой в которую вставлен фильтр по полю со.

Автозакрытие Excel-я при запуске формы
Скажите пожалуйста как сделать чтобы при открытии программы автоматически закрывалась книга экселя?

Создание формы с переносом данных в книгу Excel
Начал создание калькулятора ОСАГО, уже создал все подсчеты и вывод суммы в самой форме. Но мне.

Скрыть форму при запуске
Добрый день. Подскажите как скрыть форму сразу после ее загрузки? private void Hide_Load(object.


Скрыть форму при ее запуске
Здравствуйте! Подскажите, пожалуйста, как скрыть форму при загрузке. Прописал this.Hide() в.

Читайте также: