Пользовательские меню Excel
VBA любит тех, кто любит думать и много думать – не желающие мыслить, там просто не выживают. Но игра стоит свеч !!!
BDO Юникон
«Аудит телекоммуникаций и информационных технологий»
Программа Excel позволяет пользователю самостоятельно создавать сложные элементы меню. Давайте рассмотрим самые оригинальные.
Для начала давайте поместим в директорию с вашим Office XP следующий файл: У меня путь следующий: C:\Program Files\Microsoft Office XP\OFFICE11\XLSTART\PERSONAL.XLS Если более конкретно, в директорию XLSTART: ( \OFFICE11\XLSTART\PERSONAL.XLS ) И как вы наверное уже догадались, в эту директорию нужно поместить файл PERSONAL.XLS |
Это вполне обычный файл Excel, но с диковинной начинкой.
В принципе вы ничего и не увидите, пока не зайдёте в редактор VBA, а дальше …
В самой программе Excel есть специальный раздел VBAProject (PERSONAL.XLS), где могут храниться шаблоны пользователя. Любые макросы записанные в этом разделе, хранятся там постоянно и запускаются в любое время в любом файле. Как вы видите, там уже создан Module1.
К примеру, поместив туда следующий код, при каждой загрузке вам будет выдаваться приветствие.
A = MsgBox("Приветствую тебя о Мудрейший Пользователь Excel !!! ", vbOKOnly + vbInformation, "VBA")
End Sub
Можно создать и более существенные операции:
Sub A_Filter()
Selection.AutoFilter
End Sub
Эта программка позволит автоматически убирать с экрана обозначения Автофильтра (обычно нужно лезь в меню и за несколько операций отключать эту опцию). Для удобства, можно назначить комбинацию клавиш или даже создать на панели задач специальную кнопочку.
Запустите Настройку, в разделе Макросы выберите кнопочку со счастливой рожей и поместите её на панель задач. Там же, назначьте ей соответствующий макрос и пользуйтесь в любое время и в любом месте.
Если записать макрос:
Sub auto_close()
A = MsgBox("Желаем Успешного Аудита !!!", vbOKOnly + vbInformation, "VBA")
End Sub
При закрытии файла будет выдаваться сообщение.
У меня на компьютере установлена следующая подборка макросов:
Sub AutoFilter()
Selection.AutoFilter
End Sub
Sub Format_00()
Selection.NumberFormat = "#,##0.00"
End Sub
Sub Format_0()
Selection.NumberFormat = "#,##0"
End Sub
Sub Format_USA()
Selection.NumberFormat = "_(* #,##0_);_(* (#,##0);_(* ""-""_)"
End Sub
В основном, они позволяют быстро изменять числовые форматы.