Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Уокенбах Формулы в Excel

.pdf
Скачиваний:
212
Добавлен:
26.03.2016
Размер:
35.82 Mб
Скачать

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

Рис. 21.7. На данном рабочем листе добавлены стрелки для обозначения ячеек, влияющих на формулу в ячейке С13

Отслеживание ошибочных значений

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

наличия ошибки во влияющей ячейке. Для обозначе-

1Circular Reference

 

 

ния источника ошибки Excel создает цветные стрелки.

в

warn

Исправление ошибок

 

рн

 

 

•"*

 

 

 

циклической ссылки

 

$А$9

 

 

 

 

$А$7

 

 

 

При случайном вводе формулы, содержащей цик-

$А$6

 

 

 

 

 

 

 

лическую ссылку, Excel выводит сообщение преду-

 

 

 

 

преждения. При щелчке накнопке OK Excel отобража-

 

 

 

 

ет панель

инструментов

Циклические

ссылки

 

 

 

 

(рис. 21.8). Если вам не удается установить источник

Рис. 21.8.

Панель

инструментов

проблемы,

воспользуйтесь

инструментом

Найти

Циклические

ссылки

 

циклическую ссылку (раскрывающийся список), доступным науказанной панели, длявыделения ячеек, вовлеченных в циклическую ссылку. Нач-

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

Использование средства фоновой проверки ошибок Excel 2002

Если вы используете Excel 2002, то можете найти полезным новое средство автоматической проверки ошибок.

480

Часть У.Совершенное владение формулами

Информация данного подразделаприменима лишь кExcel 2002.

Диалоговое окно Параметры в Excel 2002 имеет несколько новых вкладок, одной из которых является вкладка Проверка ошибок (рис. 21.9). Включение данного средства осуществляется установкой флажка Включить фоновую проверку ошибок. В дополнение, раздел Проверять наличие следующих ошибок содержит ряд флажков, позволяющих указать, ошибки какого типа должны проверяться.

Рмс. 21.9. Excel 2002 способен выполнять проверку формул на предмет потенциально возможных ошибок

Value

; Л simple value

Value

Formula that returns a value

Text

t Simple text

Logical

Logical formula

Logical

Logtcal value

ф «or

Formula error

£пра»ка по этой ошибке

Покам1ь этапы вычисления...

Пропустить ошибку Иэценить в строке формул

Параметры проверки ощибок...

Показать панель, аудита формул

Puc. 21.10. При щелчке на смарт-тэге вам предоставляется список возможных действий

Когда средство проверки ошибок включено, Excel постоянно следит за рабочим листом, включая формулы в нем. При нахождении потенциальной ошибки Excel помещает в левом верхнем углу такой ячейки маленький треугольник. Если ячейка активизирована, появляется смарт-тэг. При щелчке на смарт-тэге пользователю предлагается несколько вариантов дальнейшего развития событий. На рис. 21.10 показаны варианты действий, доступные в случае

Глава 21. Инструменты иметодыотладки формул

481

PMC. 21.11. Использование диалогового окна контроля ошибок для последовательного просмотранайденных Excel потенциальных ошибок

щелчка на смарт-тэге в ячейке, содержащей ошибку #ДЕЛ/0 !. Доступные действия изменяются в зависимости от типа ошибки.

Во

многих

случаях пользователи

выби-

; Ошибка «ячейкеОб -

 

рают команду Пропустить ошибку.

Выбор

 

 

 

 

данной команды исключает ячейку изспи- 'Ошибке «деление на ноль v *

'•:"

ска ошибок. Вы можете

снова отобразить

 

 

 

все пропущенные ошибки; для этого необ-

 

 

 

ходимо

щелкнуть на

кнопке

Сброс

 

 

 

пропущенных

ошибок,

находящейся на

,.

'

 

 

 

 

вкладке Проверка ошибок диалогового окна Параметры.

Вы можете воспользоваться командой

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

как это делает программа проверки орфографии. Диалоговое окно Проверка ошибок показано на рис. 21.11. Обратите внимание, что это диалоговое окно немодальное, то есть когда оно открыто, выпо-прежнему имеете доступ ксодержимому рабочего листа.

Важно понять,что средство проверки ошибок несовершенно. Практически, емувесьма далеко досовершенства. Другими словами, нельзя считать, чторабочий лист полностью лишен ошибок только на основе того, чтоExcel не выявил источников потенциальной опасности! Кроме того, имейте ввиду, чтоданное средство не сможет отследить такую часто встречающуюся ошибку, как замена ячейки сформулой значением.

Проверка формул вExcel 2002

В Excel 2002 имеется новое средство, позволяющее просмотреть различные части вложенной формулы, представленные в порядке вычисления формулы.

Информация данного подраздела применима только к Excel 2002.

Для использования эксперта формул выделите содержащую формулу ячейку, а затем выберите команду Сервис^Зависимости формул^Вычислить формулу или же щелкните на кнопке Вычислить формулу панели инструментов Зависимости. Любое из этих действий вызывает диалоговое окно Вычисление формулы, показанное нарис. 21.12.

Щелкните на кнопке Вычислить для отображения результата вычисления выражения формулы. При каждом щелчке накнопке производится следующее вычисление. Данное средство может оказаться весьма полезным в некоторых случаях, но обычно оно оставляет желать лучшего.

Средства проверки данных сторонних разработчиков

Существуют средства проверки данных, разработанные для Excel сторонними разработчиками ПО. Описанию данных программных продуктов (Power Utility Pak, Spreadsheet Detective иExcel Auditor) и посвящены последующие подразделы.

482

Часть V. Совершенное владение формулами

Для просмотрарезультате вычисления подчеркнутого в Чычисппь". Последний получен*,* реауяьтегг отобр*.

Рмс. 27.72. Вычисление формул в Excel 2002 демонстрирует промежуточные результаты на всех этапах

Power Utility Pak

Power Utility Рак включает ряд полезных утилит, выполняющих проверку данных рабочих листов. Ниже приведен их список:

Workbook Summary Report (Общий отчет рабочей книги). Выводит удобный общий отчет для всей рабочей книги.

Workbook Link Report (Отчет о связях рабочей книги). Выводит отчет, описывающий все связи рабочей книги.

Worksheet Map (Карта рабочего листа). Создает удобную карту, упрощающую нахождение ячеек различных типов (рис. 21.13).

Xт

тV т

4

5 т т т

Б т V V 7 т V V

I4 т V V

9 V V

. Ут V V

• л ?т F F

J F

Jli

0

т Т Т т F F F F

F F F F F F F F F F F F F F F F F F F

"1

ч

• 4 *-1

- л

&

Puc. 21.13. Карта рабочего листа, созданная с помощью Power Utility Рак

Compare Sheets or Ranges (Сравнение листов или диапазонов). Выполняет поячеечное сравнение двух рабочих листов илидиапазонов.

Date Report (Отчет о датах). Создает полезный отчет по всем ячейкам, связанным с датами.

Name Lister (Составитель списка имен). Составляет список всех имен рабочей книги. В отличие от диалогового окна Excel Присвоение имени данная утилита включает в список также все скрытые имена.

Глава 21. Инструменты иметоды отладки формул

483

Formula Report (Отчет о формулах). Генерирует полезный (и подготовленный к печати) список всех формул, содержащихся нарабочем листе. Данная утилита болееполезна, чемрежим просмотра формул Excel.

VBA Project Summary Report (Итоговый VBA-отчет). Генерирует отчет, описывающий VB А-процедуры, используемые нарабочей книге.

Spreadsheet Detective

Программа Spreadsheet Detective, разработанная Southern Cross Software, — это всеобъемлющее средство проверки данных в Excel. Дляполучения полной информации (иоценочной версии программы) посетите следующий узел:

http://www.uq.net.au/detective/

Excel Auditor

Программа Excel Auditor, разработана Byg Software, находящейся в Великобритании. Данный продукт включает множество инструментов, призванных помогать впоиске иисправлении ошибок электронных таблиц. Дляполучения полной информации посетите следующий узел:

http://www.BygSoftware.com

Резюме

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

Следующая глава является первой из четырех глав, посвященных созданию пользовательских функцийрабочего листа с использованием VBА.

484

Часть V.Совершенное владение формула

Часть

Разработка пользовательских функций

ГЛАВА 22 "Введениев VBA"

ГЛАВА 23 "Основы процедурфункций"

ГЛАВА 24

"Принципы программирования на VBA'

ГЛАВА25

"Примеры пользовательских функций VBA"

Глава 22

Введение в VBA

Вэтой главе...

Несколько слов о VBA

Введение в редактор Visual Basic

Резюме

Эта глава ознакомит вас со средой VBA. Visual Basic for Applications представляет собой язык программирования Excel и используется для создания пользовательских функций. Перед тем как вы сможете создавать такие функции, используя VBA, вы должны иметь как базисные понятия о языке программирования VBA, так и некоторые знания о редакторе Visual Basic.

Несколько слов о VBA

Приложение Excel 5 было одной из первых программ, появившихся на рынке и поддерживающих VBA. Язык VBA является лучшим вариантом языка подготовки сценариев, созданным компанией Microsoft. Сейчас он включается во все прикладные программы пакета Office 2002 года, его также можно встретить и у сторонних производителей. В Excel существует два основных способа использования VB А:

для автоматизации выполнения задач;

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

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

тимым с разными версиями Excel. Данная книга полностью игнорирует язык XLM и всецело фокусирует свое внимание на языке VBA.

VBA является сложной темой для обсуждения — далеко более сложной, чем можно описать в этой книге. Поскольку в данной книге речь идет о формулах, я обращаю внимание только на один из самых важных (и не менее полезный) аспект VB A — создание пользовательских функций. Эти функции можно использовать (иногда их называют функциями, создаваемыми конечным пользователем) в формулах.

Введение вредактор Visual Basic

Перед тем как начать работать над созданием функций, следует ознакомиться с редактором Visual Basic. Данный редактор позволяет работать с модулями VBA, которые являются контейнерами VBA-кода.

В Excel 5 и в Excel 95 VBA-модуль представлен в виде отдельного листа рабочей книги. Начиная с Excel 97, VBA-модули больше не отображаются в таком виде. Точнее говоря, вы

Глава22. Введение в VBA

487

используете редактор VBA для просмотра VBA-модулей и для работы с ними. В Excel 97 и в более поздних версиях VBA-модули представлены в виде упакованных в рабочей книге файлов; они невидимы до тех пор, пока не активизировать редактор Visual Basic.

В данной главе предполагается,что вы пользуетесь Excel 97 или более поздней версией данного продукта. Предыдущие версии не имели отдельного редактора.

Запуск редактора Visual Basic

Работая вExcel,можно перейти кредактору V BА,используя один изниже предложенных способов:

нажмите <Alt+Fl 1>;

выберите Сервис^Макрос^Редактор Visual Basic;

щелкните на кнопке Редактор Visual Basic, расположенной на панели инструментов Visual Basic (она скрыта по умолчанию).

На рис 22.1 изображен общий вид редактора Visual Basic. Возможно, окно редактора, изображенное на рисунке, не совсем похоже на окно Visual Basic, отображаемое на экране вашего монитора. Данное окно настраиваемое. Окна можно скрывать, менять их размер, присоединять друг к другу, переорганизовывать и т. д.

 

 

шшттшт

 

 

 

[ши g.g.gj

 

 

[(General)

}(Declftlon«)

ЯГ'

о а

 

 

 

^

EuroTool (EUROTOOLJd/

 

 

; 4

$funcres (FUTCRESJCLA)

 

 

; ^

Internet.As«stant (HT^

 

 

; ^

VBAProJect (Книга2)

 

 

В -I»' Microsoft Excel Objects

I : Щ Лист1 (Лист1)

;|"©Лист2(Лист2)

8ЛистЗ (ЛистЗ) ЭтаКнига

В Ш

JJB

• JJ

Рис. 22.1. Окно редактора Visual Basic

ЧастьVI.Разработка пользовательских функций

Компоненты редактора Visual Basic

Редактор Visual Basic состоит из ряда компонент. В этом разделе коротко описаны некоторые ключевые компоненты.

Строка меню

Строка меню редактора Visual Basic работает так же, как и любая другая строка меню. В ее состав входят команды, используемые для работы с компонентами редактора Visual Basic. Характерной чертой редактора Visual Basic является наличие контекстных меню. В сущности, щелчок правой кнопкой мыши на пустом месте окна редактора Visual Basic, инициирует вызов контекстного меню доступа к стандартным командам.

Панель инструментов

Стандартная панель инструментов по умолчанию находится прямо под строкой меню, доступной является только одна из шести панелей редактора Visual Basic. Панели в редакторе Visual Basic управляются так же, как и панели в Excel: их можно перенастраивать, перемещать, а также отображать другие панели.

Окно проекта

Окно проекта отображает древовидную схему, включающую каждую рабочую книгу, открытую в текущий момент в Excel (включая надстройки и скрытые рабочие книги). В редакторе Visual Basic каждая рабочая книга называется проектом. Я рассмотрю окно проекта детальнее в следующем разделе. Если окно проекта не отображено на экране, нажмите сочетание клавиш <Ctrl+R>.

Окно кода

Окно кода содержит код VB А. Каждый элемент проекта имеет соответствующее ему окно кода. Для того чтобы просмотреть окно кода для объекта, необходимо дважды щелкнуть кнопкой мыши на окне проекта. Или выделить элемент и щелкнуть на кнопке отображения кода, находящейся в верхней части окна проекта.

Например, для того чтобы просмотреть окно кода для отдельного объекта Лист1 рабочей книги, необходимо дважды щелкнуть на нем в окне проекта. Пока вы не добавили в файл VB А-код, окно кода будет пустым. Детально я рассмотрю окно кода далее в этой главе.

Окно свойств

Окно свойств включает в себя перечень всех допустимых свойств, характерных для выбранного объекта. Можно использовать это окно для изучения и изменения свойств. Можно использовать клавишу быстрого доступа <F4> для отображения окна свойств.

Окно быстрого доступа

Окно быстрого доступа является наиболее удобным для непосредственного выполнения VBA-операторов, отчетов тестирования и отладки кода. Это окно может либо отображаться, либо нет. Если окно быстрого доступа не отображено на экране, нажмите <Ctrl+G>. Для закрытия этого окна щелкните на кнопке Закрыть, находящейся в верхней части заголовка окна.

Глава22. ВведениевVBA

489