Можно ли как-нибудь узнать, содержит ли текущая рабочая книга макровирус?
В большинстве случаев для решения данной проблемы целесообразно воспользоваться специализированными антивирусными программами. Если же это по каким-либо причинам затруднительно, то можно попробовать приведенный ниже способ.
В редакторе VBA нужно открыть проект, соответствующий подозрительной рабочей книге, просмотреть все модули и обратить внимание на незнакомый код VBA. В большинстве случаев код вируса плохо отформатирован и содержит большое количество переменных с незнакомыми (и даже странными) названиями.
Данные на рабочем листе расположены в нескольких диапазонах, которые разделены между собой пустыми строками либо пустыми столбцами. Можно ли каким-нибудь способом быстро выделить один из этих диапазонов?
Оптимальный способ в данном случае – это установить курсор в любую ячейку внутри диапазона и нажать одновременно клавиши Ctrl и * («звездочка» на цифровой клавиатуре). В результате будет полностью выделен диапазон с активной ячейкой.
Каким образом можно быстро пересчитать формулы, использующие пользовательскую функцию?
Для решения данной задачи следует воспользоваться комбинацией клавиш Ctrl+Alt+F9.
Как известно, для вывода на печать какой-нибудь области рабочего листа нужно выделить ее, а затем в окне настройки параметров печати установить режим выделенный диапазон. При этом, если необходимо распечатать несколько разных выделенных областей, приходится повторять данную операцию каждый раз. Можно ли автоматизировать этот процесс?
Данная проблема решается достаточно просто. Для этого следует выделить все области, которые необходимо вывести на печать (несколько областей можно выделить, удерживая нажатой клавишу Ctrl), после чего в окне настройки параметров печати, как обычно, установить режим выделенный диапазон. В результате каждая выделенная область будет распечатана на отдельной странице. Следует учитывать, что предложенный способ можно использовать только в том случае, если все выделенные области расположены на одном рабочем листе.
Можно ли каким-либо способом запретить пользователям «прокручивать» рабочий лист?
Для решения данной проблемы можно посоветовать скрыть неиспользуемые строки и столбцы. Если этот вариант по каким-либо причинам неприемлем, то можно воспользоваться соответствующим оператором VBA. Ниже приведен пример, в котором оператор устанавливает область прокрутки на листе Лист1 таким образом, что пользователь не сможет работать с ячейками за пределами диапазона А1:Е20:
Worksheets(«Лист1»).ScrollArea = «A1:E20»
Для восстановления первоначальной области прокрутки следует воспользоваться таким оператором:
Worksheets(«Лист1»).ScrollArea = ""
Необходимо учитывать, что значение свойства ScrollArea не сохраняется в рабочей книге, поэтому его нужно устанавливать при каждом открытии книги. Данный оператор можно разместить в процедуре WorkbookOpen.
Можно ли сделать так, чтобы документ распечатывался вместе с сеткой?
По умолчанию Excel не выводит на печать сетку рабочего листа. Однако при необходимости эту настройку можно изменить. Чтобы документ выводился на печать вместе с сеткой, следует перейти на вкладку Разметка страницы и в окне Параметры страницы на вкладке Лист установить флажок сетка, после чего нажать кнопку ОК. Здесь же находится еще несколько полезных параметров – в частности, путем установки флажка заголовки строк и столбцов можно выводить на печать номера строк и названия столбцов; в поле примечания из раскрывающегося списка можно выбрать требуемый режим вывода на печать имеющихся на рабочем листе примечаний (возможные значения – нет, В конце листа и Как на листе); в поле ошибки ячеек как указывается наиболее приемлемый способ печати находящихся в ячейках ошибок.
Можно ли изменять цвета шрифта, которые используются по умолчанию для оформления фрагментов программного кода (ключевых слов, комментариев, идентификаторов и т. д.) в редакторе VBA?