Размещение оператора на нескольких строках
Если оператор имеет большую длину, его можно разместить на несколько строк. Для этого нужно использовать пробел, за которым следует символ подчеркивания.
При этом надо помнить, что:
- Нельзя разбивать переносом строковые константы
- Допустимо не более семи продолжений одной и той же строки
- Сама строка не может состоять более, чем из 1024 символов
Размещение нескольких операторов на одной строке
Если операторы имеют небольшую длину, то их можно разместить на одной строке, разделив их символом двоеточие
X=2 : d=7
Операторы VBA
Оператор – это языковая конструкция, представляющая описание команды или комплекса команд по обработке и преобразованию данных.
Оператор присваивания
Оператор присваивания присваивает значение выражения переменной, константе или свойству объекта.
Синтаксис оператора присваивания:
<идентификатор>=<выражение>
Например
X=2
Y=”Привет”
Стоимость=x*kol
TextBox1.Visible=True;
CommandButton1.Caption=”Вычислить”
Работа: вычисляется значение <выражения> присваивается полученное значение <идентификатору>
Пример.
Вычислить значение функции f(x,y)=|x|+sin2(y+5).
Public Sub prog1() Dim x As Double, y As Double Dim f As Double x=CDbl(InputBox("Введите х")) y=CDbl(InputBox("Введите y")) f = Abs(x) + Sin(y + 5) ^ 2 MsgBox "Результат = " & f End Sub | Заголовок процедуры prog1 (начало программы) Описание переменных: переменные x,y,f вещественного типа (Double) Ввод значений х и у. Функция InputBox выводит на экран окно с полем ввода и сообщением «Введите х» и возвращает значение типа строка (String). Для преобразования вводимого значения к вещественному типу – Double- используется функция CDbl. Вычисление значения переменной f: функция Abs(аргумент) возвращает модуль аргумента, Sin(аргумент) – синус аргумента, ^ - степень числа. Процедура MsgBox выводит на экран окно сообщений с текстом «Результат = 12» (если f=12). Конец программы. |
Организация ввода-вывода данных
Ввод и вывод данных в VBA может выполняться несколькими способами: с листа Excel, с помощью диалоговых окон, с помощью пользовательской формы.
Для ввода данных с листа или вывода на лист используется объект Worksheets и его методы Range или Cells.
МетодRange использует в качестве аргументов одну или две ссылки на ячейки, и возвращают объект Range. Ссылки на ячейки должны быть оформлены в стиле А1 (колонка-буква, строка-число). Ссылка на единичную ячейку, использованная в качестве аргумента, возвращает объект Range для единичной ячейки. Две ссылки на единичные ячейки возвращают объект Range для прямоугольной области, заключенной между этими двумя ячейками:
X = Worksheets(“Лист1”).Range(“B1”).Value | Присваиваем переменной Х значение ячейки B1 листа Лист1. |
Worksheets(“Лист1”).Range(“B1”).Value = Х | Выводим в ячейку B1 листа Лист1 значение переменной Х |
Worksheets(“Лист1”).Range(“C1,D6”).Value = 2 | Выводим в ячейки C1 и D6 листа Лист1 число 2 |
Worksheets(“Лист1”).Range(“В7:С9”).Value = 3 | Выводим в диапазон ячеек “В7:С9” листа Лист1 число 3 |
Public Sub Ввод_Вывод()
x = Worksheets("Лист1").Range("F1").Value
Worksheets(1).Range("F2").Value = x
x = Worksheets("Лист1").Range("g1")
Worksheets(1).Range("g2") = x
Worksheets("Лист1").Range("A1:B2").Value = 1
Worksheets(1).Range("c1, d6") = 5
End Sub
Метод Cells, получая в качестве аргументов два целых числа, возвращают объект, содержащий единичную ячейку. Аргументы определяют номера строки и столбца выбранной ячейки.
A=Worksheets(1).Cells(1,2).Value | Переменной А присвоено значение из ячейки первой строки и второго столбца первого листа. |
Worksheets(1).Cells(2,2).Value= Х | В ячейку второй строки и второго столбца заносится значение переменной Х |
Ячейка А2 как объект описывается Range ("A2") или cells (1,2).
В проектах VBA часто встречаются две разновидности диалоговых окон: окна сообщений и окна ввода. Они встроены в VBA, и если их возможностей достаточно, то можно обойтись без проектирования диалоговых окон. Окно сообщений (MsgBox) выводит простейшие сообщения для пользователя, а окно ввода (InpuBox) обеспечивает ввод информации.
Окно ввода