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

После этого на листе MAIN создадим кнопку Старт и назначим ей макрос S tar tGame. После нажатия данной кнопки на экране отобразится окно, изображенное на рис. 5.9.

Рис. 5.9. Начало игры

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

Работа данной программы и, главное, ее «обучение» основаны на особенном строении данных, используемых этой программой. Они организованы в виде бинарного дерева. Каждый элемент этого дерева, являющийся вопросом, – узел, а элемент, являющийся названием животного, – лист. Каждый узел содержит два элемента (пусть левый и правый). При отрицательном ответе на вопрос рассматривается левый элемент, при утвердительном – правый. Если рассматриваемый элемент является узлом, то опять задается вопрос и анализируется ответ. Если же элемент – лист, то мы дошли до конца цепочки возможных вопросов и ответов, остается только спросить, является ли содержимое листа правильным ответом. В случае правильного ответа работа программы завершается. Если же ответ неправильный, то пользователь вводит вопрос, позволяющий отличить загаданное им животное от того, которое предположила программа. Название животного заменяется вопросом (на место листа дерева вставляется узел). Слева помещается название прежнего животного (лист), а справа – загаданного пользователем (тоже лист дерева). Так пополняются знания приведенной программы.

Так как для хранения данных у нас используется таблица, то элементы дерева хранятся в следующем виде. Значение элемента дерева (текст вопроса или название животного) содержится в столбце А. Для узла (то есть вопроса) в столбце В содержится номер строки, на которую следует перейти при утвердительном ответе, а в столбце С – номер строки, на которую необходимо перейти при отрицательном ответе на вопрос. Для листа (названия животного) столбцы В и С пусты.

Кроме того, в ячейке D1 хранится номер первой строки, которая может быть использована для вставки новых данных. Заодно этот номер применяется для предотвращения ошибок программы (зацикливания и прочих неприятностей) при повреждении данных.

<p>Расчет на основании ячеек определенного цвета</p>

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

Знакомиться с программой будем в два этапа: на первом этапе напишем код программы и создадим пользовательские формы, на втором – рассмотрим порядок ее применения.

<p>Создание программы</p>

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

Программный код в стандартном модуле VBA выглядит следующим образом (листинг 5.5).

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

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

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

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

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

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

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

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