Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курсовая / Источники / excel_2010_professionalnoe_programmirovanie_na_vba_RuLit_Me_412629.pdf
Скачиваний:
4
Добавлен:
27.09.2025
Размер:
22.97 Mб
Скачать

874

Часть VII. Дополнительные темы

И поскольку люди в большинстве своем задают одинаковые вопросы о программиро­ вании на VBA, я создал данный документ, который содержит ответы на часто задавае­ мые вопросы о программировании в Excel:

особенности Excel, оказывающие влияние на работу;

часто задаваемые вопросы о программировании в Excel;

справка по VBE.

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

Все задаваемые вопросы были объединены в несколько категорий. Каждый вопрос относится к одной из следующих тем:

общие вопросы об Excel;

вопросы о редакторе Visual Basic;

вопросы о процедурах;

вопросы о функциях;

вопросы об объектах, свойствах, методах и событиях;

вопросы о пользовательских формах;

вопросы о надстройках;

вопросы об изменении пользовательского интерфейса Excel.

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

Кстати, большая часть информации, приведенной в этой главе, подробно рассматри­ вается в других главах книги.

Что д елать, есл и в главе не найдется ответа на ваш вопрос

Обратитесь к предметному указателю. В книге приведено много информации, кото­ рую вряд ли можно отнести к категории ответов на часто задаваемые вопросы. Если от­ вет на интересующий вас вопрос в книге отсутствует, обратитесь к источникам, указан­ ным в приложении А.

Общие вопросы об Excel

В этом разделе сведены ответы на вопросы общего характера относительно програм­ мирования в Excel.

Как записать макрос?

Щелкните на маленьком квадратном значке в левой части панели состояния.

Как запустить макрос на выполнение?

Для запуска макроса выберите команду Вид1^ Макросы^Макросы (View^Macros1 Macros) или нажмите комбинацию клавиш <Alt+F8>. Либо выберите команду Разра­ ботчика Код^Макросы (Developer^Code^Macros).

Глава 31. Часто задаваемые вопросы о программировании в Excel

875

Что делать, если не отображается вкладка Разработчик?

Щелкните правой кнопкой мыши в области ленты и в контекстном меню выберите пункт Настройка ленты (Customize the Ribbon). На вкладке Настройка ленты (Custo­ mize Ribbon) в диалоговом окне Параметры Excel (Excel Options) установите флажок Разработчик (Developer) (в списке Основные вкладки (Main tabs)).

Я создал макрос и сохранил мою рабочую книгу. После повторного открытия книги макрос исчез. Что произошло?

При первом сохранении новой рабочей книги по умолчанию Excel предлагает отка­ заться от созданного вами макроса. Поэтому при сохранении файла внимательно читайте отображаемое на экране предостережение Excel и не щелкайте на кнопке Да (Yes). Если рабочая книга содержит макрос, сохраняйте ее в формате XLSM, а не XLSX.

Как можно скрыть ленту для освобождения места на экране?

В Excel 2010 появилась новая пиктограмма Свернуть ленту (Minimize the Ribbon), которая находится слева от пиктограммы Справка (Help) в строке заголовка. Щелкните на этой пиктограмме для того, чтобы скрыть/отобразить ленту. Для выполнения этой за­ дачи можно также воспользоваться комбинацией клавиш <Ctrl+Fl>. Чтобы отобразить/ скрыть ленту с помощью VBA, воспользуйтесь методом Sendkeys.

Sub

T o g g le R ib b o n ()

 

A p p lic a tio n . SendKeys " ^ { F l} "

End

Sub

Для полного удаления ленты воспользуйтесь следующим XLM-макросом:

ExecuteE xcel4M acro "SHOW. TOOLBAR( " "R ib b o n "", F a ls e ) "

После выполнения этого оператора лента исчезнет из вашего поля зрения, и единст­ венный способ вернуть ее обратно — выполнить этот оператор снова, причем последне­ му аргументу присваивается значение True.

Где же мои старые настраиваемые панели инструментов?

Выберите вкладку Надстройки (Add-Ins), после чего настраиваемые панели инстру­ ментов появятся в группе Настраиваемые панели инструментов (Custom Toolbars).

Можно ли сделать настраиваемые панели инструментов “плавающими”?

Нет, это невозможно. Старые настраиваемые панели инструментов зафиксированы на одном месте и находятся в группе Настраиваемые панели инструментов (Custom Toolbars), находящейся на вкладке Надстройки (Add-Ins).

Каким образом можно скрыть строку состояния в Excel 2010?

Для сокрытия строки состояния можно воспользоваться следующим кодом VBA:

A p p lic a tio n . D is p la y S ta tu s B a r = False

Существует ли утилита, которая преобразует мое приложение Excel в отдельный файл ЕХЕ?

Нет.

876

Часть VII. Дополнительные темы

Почему комбинация клавиш <Ctrl+A> не выделяет все ячейки в рабочем листе?

Причиной этого может быть размещение указателя ячейки внутри таблицы. Если ак­ тивная ячейка находится в таблице, нажмите комбинацию клавиш <Ctrl+A> трижды для выделения всех ячеек рабочего листа. После первого нажатия выделяются ячейки с дан­ ными, после второго — ячейки с данными и строка заголовка, а после третьего — все ячейки рабочего листа.

Почему команда Представления недоступна?

Причина этого заключается в том, что рабочая книга содержит таблицу. Преобразуйте таблицу в диапазон, затем воспользуйтесь командой Вид1^Режимы просмотра книги1^ Представления (Views^Workbook Views^Custom Views).

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

Для решения этой задачи макрос не потребуется. Просто введите список корректных записей в единственный столбец. При желании можно скрыть этот столбец от пользова­ теля. Выделите ячейку (или ячейки), в которой будет отображаться список, затем выбе­ рите команду Данные1^Работа с данными^Проверка данных (Data^Data Tools'^ Data Validation), после чего выберите вкладку Параметры (Settings) в диалоговом окне Проверка вводимых значений (Data Validation). В раскрывающемся списке Тип дан­ ных (Allow) выберите опцию Список (List). В поле Источник (Source) укажите адрес диапазона или ссылку на одноколоночный список, находящийся на рабочем листе. Убе­ дитесь в том, что флажок Распространить изменения на другие ячейки с тем же ус­ ловием (In-Cell Dropdown) установлен. Если список короткий, просто введите его эле­ менты, разделив их запятыми.

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

Да. В предыдущих версиях Excel требовалось создание имени списка (например, L is t E n t r ie s ) . В Excel 2010 допускается применение диапазона в любом рабочем лис­ те, даже находящемся в иной рабочей книге.

Будет ли свойство A p p lic a tio n . C a lc u la tio n влиять на все рабочие книги либо только на активную книгу?

Свойство C a lc u la t io n является членом объекта A p p lic a t io n . Поэтому выбран­ ный режим вычислений будет применен во всех рабочих книгах. Невозможно выбрать режим вычислений для одной рабочей книги. В Excel 2000 и более поздних версиях поя­ вилось новое свойство объекта W o rk s h e e t под названием E n a b le C a lc u la tio n . Ес­ ли значение этого свойства F a ls e , рабочий лист не будет вычисляться, даже если вы­ числения инициируются пользователем. Для выполнения вычислений присвойте свойст­ ву E n a b le C a lc u la t io n значение T ru e .

Почему клавиша <F4> не может применяться для повторения ранее выполненных операций?

Я не знаю ответа на этот вопрос. К сожалению, очень полезная (в прошлом) клавиша <F4> утратила свое значение в Excel 2007 и более новых версиях. Например, если щелк­ нуть на значке Вставить лист (Insert Worksheet) и затем нажать клавишу <F4>, Excel не

Глава 31. Часто задаваемые вопросы о программировании в Excel

877

повторит команду Вставить лист (Insert Worksheet). Но если для вставки листа восполь­ зоваться комбинацией клавиш <Shift+Fl 1>, клавиша <F4> повторит вставку листа.

Еще один пример. Если применить стиль к диаграмме с помощью команды Работа с диаграммами1^Конструктор^Стили диаграмм (Chart Tools^Design^Chart Styles), эту команду невозможно применить к другой диаграмме, нажав клавишу <F4>. Возмож­ но, эта проблема будет устранена в следующей версии Excel.

Что случилось со свойством “проговаривайиясодержимого ячеек?

Для использования соответствующих команд следует настроить панель быстрого дос­ тупа либо ленту. Для выполнения этих задач воспользуйтесь диалоговым окном Парамет­ ры Excel (Excel Options). Речевые команды находятся в категории Команды не на ленте (Commands Not in the Ribbon). Все эти команды начинаются словом “Проговорить”.

Я открыл рабочую книгу и увидел, что в ней только 65546 строк. Что случилось?

Рабочие листы Excel 2010 содержат 1048576 строк и 16384 столбца. Если отобража­ ется меньшее количество строк и столбцов, значит, рабочая книга находится в режиме совместимости. Если в Excel открывается рабочая книга, которая была сохранена с при­ менением файлового формата предыдущих версий, не происходит ее автоматическое преобразование в рабочую книгу Excel 2010. Эту операцию следует выполнить вручную. Сохраните рабочую книгу в файловом формате Excel 2010, закройте ее и снова откройте. После этого появятся дополнительные строки и столбцы.

Как в старой рабочей книге можно использовать новые шрифты?

Начиная с версии Excel 2007 появились стандартные шрифты, которые проще для восприятия и выглядят гораздо лучше, чем в предыдущих версиях. Сначала создайте пустую книгу, нажав комбинацию клавиш <Ctrl+N>. Активизируйте старую рабочую книгу, затем выберите вкладку Главная (Ноте). Прокрутите вниз вертикальную полосу прокрутки в коллекции Стили (Styles), затем выберите команду Объединить стили (Merge Styles). В диалоговом окне Объединение стилей (Merge Styles) щелкните мы­ шью дважды на новой рабочей книге, созданной нажатием комбинации клавиш <Ctrl+N>. После этого старые стили будут заменены новыми. Но этот прием может при­ меняться только к тем ячейкам, которые не были отформатированы с применением дру­ гих атрибутов шрифтов. Например, ячейки, выделенные полужирным шрифтом, оста­ нутся без изменений.

Как перейти в режим предварительного просмотра печати?

В Excel 2010 режим предварительного просмотра печати открывается автоматически после выполнения команды Файл^Печать (File■=>Print). Также в этот режим можно пе­ рейти путем щелчка на пиктограмме Страничный (Page Layout), находящейся в правой части строки состояния.

Для перехода в “классический” режим предварительного просмотра воспользуйтесь VBA. Следующий оператор осуществляет переход в режим предварительного режима для активного листа:

A c tiv e S h e e t. P rin tP re v ie w

При выборе нового шаблона документарабочий лист не помещается на одной странице

Причина этой проблемы заключается в том, что в новой теме применяются новые шрифты. После применения темы выберите команду Разметка страницы^Темы1

878

Часть VII. Дополнительные темы

Шрифты (Page Layout^Themes^Fonts), затем выберите исходные шрифты, которые бу­ дут применены в составе новой темы. Либо измените размер шрифта для стиля Обычный (Normal). Если компоновка рабочего листа имеет значение, выберите тему, прежде чем начнете работать над документом.

Как избавиться от штриховой линии разбиения страниц, которая отображается в режиме просмотра Обычный (Normal)?

Откройте диалоговое окно Параметры Excel (Excel Options), выберите вкладку До­ полнительно (Advanced), затем перейдите в раздел Показать параметры для сле­ дующего листа (Display Options for This Worksheet) и отмените установку флажка По­ казывать разбиение на страницы (Show Page Breaks).

Могу ли я добавить на панель быстрого доступа либо на ленту параметр просмо­ тра разбиения на страницы?

Нет. Эта весьма полезная команда не может быть добавлена на панель быстрого дос­ тупа либо ленту. Для отключения разбиения на страницы можно обратиться к следую­ щему оператору VBA:

A c tiv e s h e e t. D isplayP ageB reaks = F alse

Я попытался применить табличный стиль к таблице, но видимый эффект отсут­ ствует. Что нужно сделать в подобной ситуации?

Это происходит в том случае, когда ячейки таблицы были отформатированы вручную. Выделите ячейки и выберите для цвета заливки параметр Нет заливки (No Fill), а для цвета шрифта — Авто (Automatic). После этого табличный стиль станет работоспособным.

Можно ли изменить цвет ярлычка листа?

Щелкните правой кнопкой мыши на ярлычке листа и выберите команду Цвет ярлыч­ ка (Tab Color). После этого цвет ярлычка изменится, создавая эффект применения другой темы документа.

Можно ли написать макрос VBA для воспроизведения звука?

Да, с помощью макроса можно воспроизводить файлы WAV и MIDI, но для этого следует обратиться к функциям Windows API (см. главу 11). В подобных случаях целесо­ образно воспользоваться объектом Speech. При вызове следующего оператора компь­ ютер “здоровается” с пользователем:

A p p lic a tio n .S p e e c h .S p e a k ("П ривет" & A p p lica tio n .U se rN a m e )

При открытии рабочей книги Excel предлагает обновить ссылки. Я просмотрел все формулы и не нашел ни одной ссылки. Это ошибка или нет?

Скорее всего, это не ошибка. Воспользуйтесь диалоговым окном Редактирование ссылок (Edit Links) (для открытия этого окна используется команда Файл^Сведения1 Редактировать ссылки в файлах (File^Info^Edit Links to Files)). В диалоговом окне

Редактирование ссылок (Edit Links) щелкните на кнопке Разрушить ссылку (Break Link). Обратите внимание на то, что ссылки могут находиться не только в формулах. На­ пример, если в рабочей книге находится диаграмма, щелкайте на каждом ряде данных в диаграмме, просматривая функцию РЯД (SERIES), которая находится в строке формул. Если формула ссылается на другую книгу, это означает наличие ссылки. Для устранения