- •В.П.Обоскалов
- •Предисловие
- •Excel. Теоретические аспекты
- •Основные понятия
- •Основные термины
- •Работа с объектами
- •Функциональные клавиши
- •Указатель мыши
- •Формулы. Имена ячеек. Функции
- •Диаграммы
- •Функции списка
- •Формы данных
- •Фильтры
- •Автофильтр
- •Расширенный фильтр
- •Промежуточные итоги
- •Сводные таблицы
- •Консолидация данных
- •Нелинейные уравнения. Оптимизационные задачи
- •Поиск решения
- •Подбор параметра
- •Проектирование вычислений с помощью таблицы подстановки
- •Внешняя среда
- •Экспорт и импорт данных
- •Связь с базами данных
- •Вызов программы ms Query
- •Мастер запросов
- •Макросы
- •Запись макроса
- •Относительные ссылки
- •Выполнение макроса
- •Подключение макроса к объектам Назначение сочетания клавиш для запуска записанного ранее макроса
- •Назначение макроса кнопке или графическому объекту
- •Текст макроса
- •Excel. Лабораторный практикум
- •Начальное знакомство
- •Выделение блоков
- •Прозрачность ячеек. Перемещение данных. Копирование
- •Относительная и абсолютная адресация
- •Заполнение таблицы. Формулы. Относительная адресация. Суммирование
- •Абсолютная адресация. Имена ячеек
- •Форматирование таблицы
- •Вставка и удаление строк и столбцов
- •Форматирование ячеек
- •Форматирование столбцов и строк
- •Сетка. Показ формул
- •Автозаполнение. Списки
- •Автозаполнение
- •Диаграммы
- •Диаграмма. Общий случай
- •Гистограмма и круговая диаграмма
- •Графики функций
- •Работа с массивами данных
- •Подбор параметра. Поиск решения
- •Подбор параметра
- •Поиск Решения
- •Транспортная задача
- •Функции списка
- •Сортировка
- •Формы данных
- •Вычисление итогов
- •Консолидация данных
- •Сводная таблица
- •Внешняя среда
- •Экспорт и импорт данных. Связь документов
- •Процедуры пользователя
- •Диалоговые окна
- •UserForm
- •Решение инженерных задач наExcel
- •Проектирование эт
- •Основные функции
- •Суммирование
- •Примеры
- •Функции даты
- •Формульные расчеты
- •Тип оборудования
- •Самостоятельная работа
- •Самостоятельная работа
- •Коэффициенты, характеризующие график нагрузки
- •Проектирование таблицы.
- •Проектирование таблицы
- •Самостоятельная работа
- •Температурный режим трансформатора
- •Математический метод
- •Самостоятельная работа
- •Ремонтная ведомость Самостоятельная работа
- •Работа с матрицами
- •Расчет сети постоянного тока
- •Самостоятельная работа
- •Расчет токов трехфазного короткого замыкания
- •Метод z-матрицы
- •Эквивалентирование сети
- •Расчет токов кз по модели сети постоянного тока
- •Оптимизационные задачи
- •Решение систем нелинейных уравнений
- •Самостоятельная работа
- •Оптимальное распределение мощности нагрузки между параллельно работающими агрегатами
- •Линейное программирование
- •Самостоятельная работа
- •Двойственная задача линейного программирования
- •Самостоятельная работа
- •Работа с комплексными числами
- •Самостоятельная работа
- •Прогнозирование нагрузок
- •Метод наименьших квадратов
- •Самостоятельная работа
- •Метод скользящего среднего
- •Линейный тренд
- •Самостоятельная работа
- •Вероятность и статистика
- •Функции расчета вероятностных параметров
- •Математическое ожидание
- •Дисперсия
- •Корреляционный момент
- •Коэффициент корреляции
- •Гистограммы
- •Нормальное распределение
- •Расчет вероятностного режима электрической сети
- •Самостоятельная работа
- •Самостоятельная работа
- •Гистограмма случайной величины
- •Самостоятельная работа
- •Регрессия
- •Дополнительная регрессионая статистика
- •Простая линейная регрессия
- •Самостоятельная работа
- •Использование f-статистики
- •Вычисление t-статистики
- •Объектное программирование. Visual Basic
- •Основные понятия
- •Основные методы
- •МетодыRange, Cells, Offset
- •Самостоятельная работа
- •Методы и свойства активности объекта
- •Методы активности
- •Свойства, характеризующие активность
- •Макрорекордер
- •Самостоятельная работа
- •Свойства, характеризующие содержимое
- •Самостоятельная работа
- •Основные элементы языка
- •Общие сведения и структура программных модулей
- •Самостоятельная работа
- •Типы данных и переменные
- •Оператор Dim
- •Массивы
- •Пользовательские типы данных. Структуры
- •Динамическое перераспределение памяти
- •Константы
- •Видимость переменных и констант
- •Операторы присваивания
- •Математические и строковые операции
- •Процедуры
- •Вызов процедуры
- •Самостоятельная работа
- •Использование необязательных аргументов
- •Самостоятельная работа
- •Функции
- •Передача массива
- •Ссылки на внешние библиотеки
- •1. Скалярное произведение векторов (столбцы Excel) разной размерности
- •2. Поэлементное произведение массивов
- •Функции Application
- •Операторы принятия решения
- •ОператорIf
- •Блочная структура if
- •Многоблочная структура if
- •Select Case
- •Безусловный переход
- •Циклы объектного типа
- •Пример двойного цикла
- •Передача массива данных в таблицу
- •Коррекция блока ячеек таблицы
- •Ввод и вывод данных
- •Чтение и запись последовательных файлов
- •Диалоговые функции
- •MsgBox()
- •Самостоятельная работа
- •Функция InputBox()
- •Ввод названия файла
- •Самостоятельная работа
- •Диалоговые окна Excel
- •Самостоятельная работа
- •Диалоговые окна пользователя
- •Элементы управления
- •Командная кнопка (CommandButton)
- •Самостоятельная работа
- •Надпись (Label)
- •Самостоятельная работа
- •Окно редактирования (TextBox)
- •Окно списка (ListBox)
- •Самостоятельная работа
- •Выпадающее окно (ComboBox)
- •Групповое окно (Frame)
- •Контрольный индикатор (CheckBox)
- •Кнопка выбора (OptionButton)
- •Заполнение массива случайными числами
- •Линейная интерполяция
- •Самостоятельная работа
- •Оптимальное распределение нагрузки
- •Самостоятельная работа
- •Функции комплексных чисел
- •Самостоятельная работа
- •Обращение комплексной матрицы
- •Самостоятельная работа
- •Решение систем дифференциальных уравнений
- •' Модуль "Ввод исходных данных из таблицы Excel"
- •Перенумерация узлов
- •Самостоятельная работа
- •Матрица инциденций по узлам
- •Индивидуальные задания
- •Библиографический список
- •620002, Екатеринбург, ул. Мира,19
- •620002, Екатеринбург, ул. Мира,19 в.П.Обоскалов
Диалоговые окна
Задача. Необходимо создать диалоговое окно, которое позволяло бы одним нажатием кнопки сортировать таблицу, например, по наименованию или цене. С этой целью:
Перейдите на лист "Смета". Если у вас несколько сметных таблиц (получены в процессе тренинга), оставьте лишь одну.
Создайте два макроса сортировки (Данные/Сортировка) таблицы по наименованию и затратам. Посмотрите и попытайтесь осознать тексты макросов.
В вашу рабочую книгу добавьте лист типа «Окно диалога». Если на экране отсутствует инструментарий элементов управления - вызовите его. Изучите с помощью "Справки" назначение каждого элемента управления. Как-либо назовите диалоговую панель, например «Сортировка».
Создайте в диалоговом поле две кнопки. Назовите их "Наименование" и "Цена".
Через вызов контекстного меню на кнопке (ПК) присвойте каждой кнопке соответствующий макрос (команда «Назначить макрос»).
Найдите на инструментальной панели кнопку "Отобразить окно " и нажмите ее. Появилась новая, рабочая, диалоговая панель. Нажмите какую-либо созданную вами кнопку, например "Наименование". Практически каждый из вас должен потерпеть "фиаско". На экране появилось сообщение об ошибке (рис. 2.23).
Рис.
2.48.
Ошибка
макроса
Вы находитесь на листе «Диалог»? Правильно. Повторите запись макросов сортировки с новыми именами "Наименование1" и "Затраты1". В отличие от предыдущего случая после начала записи вам нужно перейти на лист «Смета» с упомянутой таблицей, а далее операции идентичны. Перейдите на лист «Диалог», присвойте кнопкам новые макросы и вновь попытайтесь исполнить сортировку по наименованию и затратам. Сейчас сортировка должна пройти успешно. Выйдите из диалога, нажав на кнопку "Отмена".
Найдите и сравните запись на Visual Basic процедур сортировки - прежней "Наименование" и новой "Наименование1". В чем отличие?
Если требуется сделать диалог автозагружаемым (при открытии книги загружается диалог), необходимо, чтобы существовал программный модуль с именем Auto_Open.
Под именем Auto_Open создайте макрос перехода на диалоговую панель и запуска диалога (переход на лист-диалог, запуск диалога, отмена, прекращение записи макроса). Закройте и вновь откройте вашу рабочую книгу.
Расширьте возможности диалога, например, за счет отображения диаграммы производства рогов и копыт.
UserForm
Создание диалогов через специальный лист со слегка архаичным названием «Окно диалога Excel 5.0» (была такая версия электронных таблиц), мягко говоря, устарело. Современные версии Excel располагают более мощным средством создания диалоговых окон - UserForm. Для создания такого окна:
Перейдите в среду Visual Basic (Alt+F11 или команда Сервис/Макрос/ Редактор Visual Basic). Найдите и откройте окно «Insert UserForm» (кнопка на ИМ). Какие работы можно выполнять с помощью данного окна? Выберите вставку «UserForm».
Вы видите среду, которая мало чем отличается от листа «Диалог». Однако рядом с панелью «UserForm» располагается окно ее свойств. Попытайтесь разобраться, какие свойства панели представлены. Измените имя диалоговой панели (свойство Name) на «Мой_диалог». Измените ее титул (свойство Caption) на «Мой диалог».
Введите две кнопки «Наименование» и «Затраты» и подключите к ним соответствующие макросы. Для этого необходимо в режиме конструктора UserForm сделать двойной клик на кнопке. Появляется заготовка программного модуля, который подключается при нажатии кнопки, например
Private Sub CommandButton1_Click()
End Sub
В тело модуля (между операторами начала и конца) вставляется оператор вызова процедуры (имя процедуры), например Наименование1. С целью не допустить ошибок при написании имени процедуры рекомендуется вызвать «Проводник по объектам», кнопка Object Browser ИМ. В классе Globals в конце списка вы найдете названия созданных вами макросов. Скопируйте, а затем вставьте на нужное место название той процедуры, что требуется.
Запуск диалоговой панели из среды Visual Basic осуществляется либо через меню Run/Run Sub/UserForm, либо кнопкой ИМ. Для автоматического вызова при открытии книги, как и в случае диалоговой страницы, необходимо создать процедуру с именемAuto_Open, а в ее тело вставить оператор вызова диалоговой панели Мой_диалог.Show (имя панели и ключевое слово для ее открытия):
Public Sub Auto_Open()
Мой_диалог.Show
End Sub