- •Е. А. Сидорова, п. С. Челобанов основы программирования на vba омск 2011
- •1. Понятие и свойства алгоритма
- •1.1. Понятие алгоритма
- •1.2. Свойства и виды алгоритмов
- •1.3. Способы представления алгоритмов
- •2. Язык программирования vba
- •2.1. Языки программирования
- •2.2. Общие сведения о vba
- •2.3. Основные понятия языка программирования
- •2.4. Алфавит vba
- •2.5. Типы данных
- •2.6. Формы записи вещественных чисел в программе
- •2.7. Переменные
- •2.8. Константы
- •2.9. Встроенные функции
- •2.10. Выражения
- •2.11. Редактор Visual Basic
- •2.12. Правила записи и ввода программ на vba
- •2.13. Создание первой программы
- •3. Управление вводом и выводом данных
- •3.1. Оператор присваивания
- •3.2. Операторы ввода данных
- •3.3. Генерирование случайных чисел
- •3.4. Операторы вывода данных
- •4. Линейные вычислительные процессы
- •5. Разветвляющиеся вычислительные процессы
- •5.1. Алгоритм разветвляющегося процесса
- •5.2. Оператор условного перехода If
- •5.2.1. Однострочный (линейный) оператор If
- •If Условие Then Операторы_1 [ Else Операторы_2 ],
- •5.2.2. Блочная форма оператора If
- •5.3. Объединение условий с помощью логических операций
- •5.4. Оператор безусловного перехода GoTo
- •5.5. Оператор выбора Select Case
- •6. Символьные переменные
- •6.1. Общие понятия
- •6.2. Сравнение строк
- •6.3. Строковые функции
- •6.4. Оператор Mid
- •7. Введение в объектно-ориентированное программирование
- •7.1. Основные понятия
- •7.2. Создание пользовательского интерфейса
- •7.3. Установка свойств объектов и определение методов
- •7.4. Составление программного кода
- •7.5. Создание пользовательского приложения с использованием формы
- •7.5.1. Создание формы
- •7.5.2. Разработка программного кода
- •8. Циклические вычислительные процессы
- •8.1. Понятие цикла
- •8.2. Арифметический цикл
- •8.2.1. Цикл с разветвлением
- •8.2.2. Цикл со счетчиком. Вычисление максимума и минимума
- •8.2.3. Вложенные циклы
- •8.3. Вычисление сумм и произведений
- •8.4. Итерационные циклы
- •8.4.1. Операторы цикла Do … Loop
- •9. Модульное программирование.
- •9.1. Понятие процедуры
- •9.2. Параметры процедур – формальные и фактические
- •9.3. Разработка процедур-функций
- •9.4. Разработка процедур-подпрограмм
- •9.5. Срочный выход из процедур и циклов
- •10. Переменные с индексами. Одномерные массивы
- •10.1. Понятие массива
- •10.2. Ввод массива
- •10.2.1. Считывание массива с листа Excel
- •10.2.2. Заполнение массива случайными числами
- •10.3. Вывод массива
- •10.4. Решение задач с использованием массивов
- •644046, Г. Омск, пр. Маркса, 35
3.2. Операторы ввода данных
Для работы практически любой программы необходимы исходные данные. Передать их в программу можно несколькими способами.
1. Запись значений переменных непосредственно в тексте программы осуществляется с помощью оператора присваивания:
Имя_переменной = Выражение
Примеры: a = 3.5 : Tok = 480
Этот способ используется, если исходные данные не изменяются при нескольких исполнениях программы.
2. Ввод данных из ячеек рабочего листа Excel.
Для этого используется инструкция Cells(i, j), которая в данном случае выступает как функция ввода данных. Формат записи:
Имя_переменной = Cells(i, j),
где i, j – порядковые номера соответственно строки и столбца, на пересечении которых находится ячейка рабочего листа Excel, в которую предварительно введено исходное значение.
Пример: a = Cells(1, 2)
После выполнения этой команды переменной a присвоится значение, которое хранится в ячейке, находящейся в первой строке (первая цифра) и во втором столбце (вторая цифра), т. е. в ячейке B1 электронной таблицы Excel.
Тот же результат можно получить, записав адрес нужной ячейки Excel в квадратных скобках:
a = [B1]
3. Ввод данных непосредственно в ходе выполнения программы (т. е. в интерактивном режиме) выполняется с помощью диалогового окна ввода информации, реализуемого функцией InputBox. Основной формат этой функции:
Имя_переменной = InputBox("Сообщение" [, "Заголовок"] [, "Значение"])
В ходе работы программы при выполнении данной команды на экране монитора (рис. 5) появляется диалоговое окно с указанным Заголовком, содержащее текст Сообщения, а также поле ввода с указанным Значением.
Рис. 5. Вид окна ввода
Например, по команде
x = InputBox("Введите x", "Ввод исходных данных", "0.15")
на экран выводится диалоговое окно, представленное на рис. 6.
Рис. 6. Пример оформления окна ввода
Имя окна можно опустить (при этом местоположение запятых сохраняется), например: x = InputBox("Введите x", , "0.15").
По команде InputBox выполнение программы приостанавливается в ожидании ввода данных с клавиатуры и нажатия одной из кнопок. После ввода информации и нажатия на кнопку ОК (или клавишу Enter) переменной присваивается значение типа String (строковый тип данных), содержащее текст, введенный в поле ввода.
Функция InputBox используется, когда исходные данные меняются при каждом запуске программы, поэтому обычно значение переменной изначально не задается, и применяется простейший вариант записи этой функции:
Имя_переменной = InputBox("Сообщение")
Пример: d = InputBox("Введите значение диаметра")
Если в поле ввода в появившемся диалоговом окне ввести 23, то в переменную d будет записан текст "23", а не число 23. Текстовая строка "23" представляет собой лишь визуальное отображение числа, но не является числом в буквальном смысле слова, т. е. с ним, как и с любым другим текстом, нельзя производить никаких арифметических действий.
Для преобразования строкового типа данных в числовой тип используется функция Val(Строка), которая возвращает число, содержащееся в Строке, как числовое значение соответствующего типа.
При записи в коде программы
d = Val(InputBox("Введите значение диаметра"))
и последующем вводе в поле ввода цифр 23 переменной d будет присвоено числовое значение 23.
