- •В.П.Обоскалов
- •Предисловие
- •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 в.П.Обоскалов
Методы и свойства активности объекта
Многие свойства Visual Basic применяются к текущему активному объекту (например, выделенному блоку ячеек).
Методы активности
Select выбирает область ячеек или страницу (аналог - затемненная область таблицы).
Activate делает активной отдельную ячейку в рамках текущего выбора. Будучи примененным к странице, Activate работает подобно Select.
Свойства, характеризующие активность
ActiveWorkbook - применяется к рабочей папке;
ActiveSheet - к странице активной рабочей папки;
ActiveCell - к одноячеечному объекту;
Selection тесно связано с ActiveCell, но скорее относится ко всему выбору, чем к отдельной ячейке.
Макрорекордер
Одним из возможных способов написания программ на Visual Basic, особенно на начальном этапе его освоения, является использование макрорекордера. Даже относительно небольшие записанные макрорекордером фрагменты могут быть полезны - их можно вставить в основную программу пользователя. В качестве примера выполним в Excel последовательность операций, записывая ее макрорекордером:
Записать в ячейке А1 число 2. Выделить блок ячеек А1:В3. Выровнять содержимое ячеек по центру. Остановить запись.
В результате на листе «Модуль1» появится отражающая данную последовательность операций программа, записанная на Visual Basic. В программе есть оператор With Selection. Этот оператор позволяет не записывать многократно свойство Selection. Попытайтесь далее самостоятельно разобраться с тем, что написано в программе:
Макрос |
Комментарий |
Sub Макрос3() |
Заголовок |
Range("A1").Select |
Активизируется ячейка "А1" |
ActiveCell.FormulaR1C1 = "2" |
В ячейку "А1" записывается в виде формулы число 2 |
Range("A1:B3").Select |
Выделяется блок ячеек "A1:B3". |
With Selection |
Начало работы с (With) выделенной областью (Selection) |
.HorizontalAlignment = xlCenter |
Центрирование по ширине |
.VerticalAlignment = xlBottom |
Запись по низу ячейки (по умолчанию) |
.Orientation = xlHorizontal |
Горизонтальная ориентация текста (по умолчанию) |
End With |
Окончание работы с выделенной областью |
End Sub |
Конец макроса |
Самостоятельная работа
Используя предложенный подход, составьте и апробируйте процедуру, записывающую во всех ячейках выделенной области синий крестик на желтом фоне.
Запишите в режиме макрорекордера макрос: выделить блок ячеек (4х4); записать в них какое- либо слово; установить размер шрифта 14; сделать фон блока желтым, а цвет символов - красным. Завершите запись.
Удалите блок и повторите макрос.
Найдите записанный на VB макрос и сделайте в нем изменения: текст должен быть курсивным и полужирным, изображен желтым на синем, с размером символов 18 пунктов.
Выполните отладку макроса.
Свойства, характеризующие содержимое
В большинстве случаев для присвоения ячейке какого-либо значения используется свойство Value объекта Range. Объекты Range представляют две возможности для изменения содержимого ячеек: свойства Value и Formula (см. фрагмент программы).
Когда вы видите на экране ячейку, вы видите ее содержимое, преобразованное в текущем формате. Когда вы присваиваете ячейке некоторое значение, это значение присваивается свойству Value.
Свойство Formula характеризует содержимое (формулу), которое записано в ячейку. Если вы записали некоторое число, то формула и значение будут одинаковыми. Если вы записали формулу, то свойство Formula содержит формулу, а свойство Value - результат вычисление по этой формуле.
Свойство Formula предлагает два варианта записи ссылок на ячейки. Кроме обычной “буква-цифра” используется свойство FormulaR1C1 для адресации “строка-столбец” (Row-Column). При этом отсчет идет от активной ячейки.
В качестве примера запишем в виде макроса программу: Записать в ячейке А1 число 2, а в ячейке В3 записать формулу “=А1” (копия значения). В результате получим:
Макрос |
Комментарий |
Sub Макрос2() |
|
Range("A1").Select |
|
ActiveCell.FormulaR1C1 = "2" |
Активная ячейка имеет координаты (1,1) |
Range("B3").Select |
|
ActiveCell.FormulaR1C1 = "=R[-2]C[-1]" |
Сдвиг по вертикали на 2 вверх (от 3 к 1) и по горизонтали на 1 влево (от В к А) |
End Sub |
|
Здесь запись R[-2]C[-1] соответствует сдвигу в сторону уменьшения нумерации строки на 2 позиции и столбца на одну позицию.