Читаем Excel. Трюки и эффекты полностью

Листинг 3.103. Команда «Очистить все, кроме формул»

Sub AddMenuItem()

Dim cbrpMenu As CommandBarPopup

' Удаление аналогичной команды (при ее наличии)

Call DeleteMenuItem

' Получение доступа к меню «Сервис»

Set cbrpMenu = CommandBars(1).FindControl(ID:=30007)

If cbrpMenu Is Nothing Then

' Не удалось получить доступ

MsgBox «Невозможно добавить элемент.»

Exit Sub

Else

' Добавление новой команды в меню

With cbrpMenu.Controls.Add(Type:=msoControlButton)

' Название команды

.Caption = «Очистить в&се, кроме формул»

' Значок

.FaceId = 348

' Сочетание клавиш (только надпись на кнопке)

.ShortcutText = «Ctrl+Shift+C»

' Сопоставленный макрос

.OnAction = «ExecuteCommand»

' Добавление разделителя перед командой

.BeginGroup = True

End With

End If

' Сопоставление с макросом сочетания клавиш Ctrl+Shift+C

Application.MacroOptions _

Macro:="ExecuteCommand", _

HasShortcutKey:=True, _

ShortcutKey:="C"

End Sub

Sub ExecuteCommand()

' Очистка содержимого всех ячеек (кроме формул)

On Error Resume Next

Cells.SpecialCells(xlCellTypeConstants, 23).ClearContents

End Sub

Sub DeleteMenuItem()

' Удаление команды из меню

On Error Resume Next

CommandBars(1).FindControl(ID:=30007). _

Controls(«Очистить в&се, кроме формул»).Delete

End Sub

В результате написания кода будут созданы три макроса: AddMenuItem (добавление команды Очистить все, кроме формул на вкладку Надстройки), DeleteMenultem (удаление созданной команды) и ExecuteCommand (макрос запускается при выполнении команды).

Новая команда на вкладке Надстройки показана на рис. 3.41.

При выполнении данной команды из ячеек текущего рабочего листа будет удалена вся информация, за исключением формул. Следует отметить, что данную операцию можно выполнять и без помощи команды Очистить все, кроме формул – для этого достаточно запустить макрос ExecuteCommand.

Рис. 3.41. Новая команда на вкладке Надстройки


Чтобы удалить команды Очистить все, кроме формул, нужно выполнить макрос DeleteMenuItem. Можно также щелкнуть на ней правой кнопкой мыши и в открывшемся контекстном меню выбрать команду Удалить настраиваемую команду.

Добавление команды «Линии сетки»

Добавим на вкладку Надстройки пользовательскую команду Линии сетки. С помощью данной команды можно будет управлять отображением сетки на текущем рабочем листе.

Итак, в стандартном модуле редактора VBA напишем код, который представлен в листинге 3.104.

Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
Эффективное использование C++. 55 верных способов улучшить структуру и код ваших программ
Эффективное использование C++. 55 верных способов улучшить структуру и код ваших программ

Эта книга представляет собой перевод третьего издания американского бестселлера Effective C++ и является руководством по грамотному использованию языка C++. Она поможет сделать ваши программы более понятными, простыми в сопровождении и эффективными. Помимо материала, описывающего общую стратегию проектирования, книга включает в себя главы по программированию с применением шаблонов и по управлению ресурсами, а также множество советов, которые позволят усовершенствовать ваши программы и сделать работу более интересной и творческой. Книга также включает новый материал по принципам обработки исключений, паттернам проектирования и библиотечным средствам.Издание ориентировано на программистов, знакомых с основами C++ и имеющих навыки его практического применения.

Скотт Майерс , Скотт Мейерс

Программирование, программы, базы данных / Программирование / Книги по IT