Разделы презентаций


Основы программирования на VBA

Содержание

КомментарииКомментарий — это описательный текст, который включается в код. VBA полностью игнорирует текст комментария. Комментарии используют для описаний действий в коде (т.к. предназначение оператора не всегда очевидно). Можно использовать для комментария

Слайды и текст этой презентации

Слайд 1Основы программирования на VBA
Элементы языка VBA

Основы программирования на VBAЭлементы языка VBA

Слайд 2Комментарии
Комментарий — это описательный текст, который включается в код. VBA

полностью игнорирует текст комментария. Комментарии используют для описаний действий в

коде (т.к. предназначение оператора не всегда очевидно). Можно использовать для комментария новую строку либо вставить комментарий после инструкции в той же строке. Комментарий обозначается апострофом. VBA игнорирует любой текст, введенный после апострофа — за исключением случаев, когда апостроф заключен в кавычки.
КомментарииКомментарий — это описательный текст, который включается в код. VBA полностью игнорирует текст комментария. Комментарии используют для

Слайд 3Переменные, типы данных и константы
Переменная представляет собой именованное место хранения

данных в памяти компьютера. Переменные могут содержать данные разных типов

— от простых логических, или булевых, значений (True или False) до больших значений с двойной точностью
Переменные, типы данных и константыПеременная представляет собой именованное место хранения данных в памяти компьютера. Переменные могут содержать

Слайд 4Несколько правил, ограничивающих именование переменных.
Можно использовать в названиях символы

букв, числа и некоторые знаки препинания, но первой в имени

переменной всегда должна вводиться буква.
VBA не различает регистры. Чтобы сделать имена переменных удобочитаемыми, часто используют смешанный регистр (например, InterestRate , а не interestrate).
Несколько правил, ограничивающих именование переменных. Можно использовать в названиях символы букв, числа и некоторые знаки препинания, но

Слайд 5Нельзя использовать в именах пробелы или точки. Чтобы сделать имена

переменных более удобными для чтения, вводится символ подчеркивания.
Специальные символы объявления

типов (#, $, %, & или I) также не применяются в имени переменной.
Названия переменных ограничены длиной 254 символов.
Названия переменных не должны совпадать с зарезервированными словами (названиями методов, функций и т.п.)
Нельзя использовать в именах пробелы или точки. Чтобы сделать имена переменных более удобными для чтения, вводится символ

Слайд 6Встроенные типы данных VBA.
VBA автоматически обрабатывает любые типы данных. VBA

может автоматически типизировать данные, однако это чревато негативными последствиями: медленное

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

Слайд 7Пример 1:

Sub VariantDemo1()
MyVar = "123"
MsgBox "Переменная " & MyVar &

" Тип данных: " _
& TypeName(MyVar)
MyVar = MyVar +

MyVar
MsgBox "Результат сложения переменных= " & MyVar _
& " Тип данных: " & TypeName(MyVar)
End Sub

Пример 1:Sub VariantDemo1()MyVar =

Слайд 8Результатом сложения будет не арифметическое действие над числами а объединение

строк: 123123 и тип данных будет строковым. Потому что знак

сложения применим не только к числовому типу данных, но и к строковому. А изначально тип переменной задавался как строковый.
Результатом сложения будет не арифметическое действие над числами а объединение строк: 123123 и тип данных будет строковым.

Слайд 9Пример 2:

Sub VariantDemo2()
MyVar = "123"
MsgBox "Переменная " & MyVar &

" Тип данных: " _
& TypeName(MyVar)
MyVar = MyVar /

2
MsgBox "Результат деления переменной на 2= " & MyVar _
& " Тип данных: " & TypeName(MyVar)
End Sub
Пример 2:Sub VariantDemo2()MyVar =

Слайд 10Результатом сложения будет арифметическое действие над числами: 61,5 и тип

данных будет определен числовым. Потому что знак деления применим только

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

Результатом сложения будет арифметическое действие над числами: 61,5 и тип данных будет определен числовым. Потому что знак

Слайд 11Переменные необходимо объявлять для того, чтобы :
во-первых, экономить каждый байт

памяти;
во-вторых, VBA может выполнять дополнительную проверку ошибок на этапе компиляции

— подобные ошибки довольно сложно выявить другими способами проверки.
Переменные необходимо объявлять для того, чтобы :во-первых, экономить каждый байт памяти;во-вторых, VBA может выполнять дополнительную проверку ошибок

Слайд 12Пример 3:

Sub VariantDemo3()
Dim Fam As String
Fam = InputBox("Введите Ваше имя",

_
"Ввод имени пользователя")
MsgBox "Вас зовут " & Fam, vbOKOnly, "Вывод"
End

Sub

Если при объявлении переменной ввести другой тип переменной (например, Double), то выполнение процедуры будет прервано для отладки.
Пример 3:Sub VariantDemo3()Dim Fam As StringFam = InputBox(

Слайд 13Чтобы грамотно объявлять переменные необходимо хорошо разбираться в типах данных,

приведенных в таблице.

Чтобы грамотно объявлять переменные необходимо хорошо разбираться в типах данных, приведенных в таблице.

Слайд 17Рекомендуется выбирать тот тип данных, в котором используется минимальное количество

байт для хранения значений, но он также должен быть достаточным

для представления максимальных значений переменных. При работе с данными в VBA скорость выполнения операций зависит от объема данных, которые обрабатываются с помощью VBA. Другими словами, чем меньше байт зарезервировано под данные, тем быстрее VBA получает доступ к данным и обрабатывает их.

Рекомендуется выбирать тот тип данных, в котором используется минимальное количество байт для хранения значений, но он также

Слайд 18Функции конвертирования типов данных.
Некоторые функции VBA конвертируют числа в

строки. К таким функциям относятся следующие.
CStr. Превращает данные любых

типов (кроме типа Object), включая числовые, в соответствующую им строку. Вывод форматируется в соответствии с установками, заданными в панели управления Язык и стандарты Windows.
Str. Конвертирует число в строку, но всегда форматирует строку в соответствии со стандартом английского языка США с точкой в качестве десятичного разделителя.
Функции конвертирования типов данных. Некоторые функции VBA конвертируют числа в строки. К таким функциям относятся следующие. CStr.

Слайд 19Функции конвертирования в числовые типы данных переводят строки в соответствующие

числовые значения, но только тогда, когда все символы в строке

распознаются как допустимые для чисел. В данном случае тоже все зависит от установок в панели управления.
Val. Конвертирует числа в строках в числовые значения, останавливаясь там, где встречается первый символ, недопустимый для чисел. Независимо от установок панели управления, распознает только цифры и десятичную точку (а не запятую, например). Однако игнорирует пробелы, символы табуляции и переходы на новую строку.
Функции конвертирования в числовые типы данных переводят строки в соответствующие числовые значения, но только тогда, когда все

Слайд 20
Chr. Конвертирует числовой ANSI-код в соответствующий символ. Эта функция используется,

когда в строку нужно поместить символ, который нельзя напечатать.
Asc. Примерно

соответствует обратной к функции Chr —- возвращает числовой код первого символа в строке.
Chr. Конвертирует числовой ANSI-код в соответствующий символ. Эта функция используется, когда в строку нужно поместить символ, который

Слайд 21Обязательное объявление всех переменных
Чтобы обеспечить обязательное объявление всех используемых переменных,

необходимо включить следующую строку в качестве первой инструкции (до объявления

процедуры) в модуле VBA:
Option Explicit
Этот оператор отвечает за то, что программа будет приостанавливаться всякий раз при нахождении в ней необъявленной переменной. VBA выведет сообщение об ошибке, и для продолжения выполнения процедуры вы должны будете объявить переменную.
Обязательное объявление всех переменныхЧтобы обеспечить обязательное объявление всех используемых переменных, необходимо включить следующую строку в качестве первой

Слайд 22Пример 4:

Option Explicit
Sub VariantDemo4()
Dim Fio As String
Fio = InputBox("Введите Ваше

имя", _
«Ввод имени пользователя")
MsgBox "Вас зовут " & Fio, vbOKOnly,

"Вывод"
End Sub

Если переменную Fio не объявить, то выполнение процедуры прервется и выйдет сообщение об ошибке Compile Error: Variable not defined.
Пример 4:Option ExplicitSub VariantDemo4()Dim Fio As StringFio = InputBox(

Слайд 23Область действия переменных
Область действия переменной определяет, в каких модулях

и процедурах она может пользоваться. Существуют следующие типы областей действия

переменных.
Область действия переменных Область действия переменной определяет, в каких модулях и процедурах она может пользоваться. Существуют следующие

Слайд 24Локальные переменные
Локальная переменная — это переменная, объявленная в процедуре. Локальные

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

После выполнения процедуры переменная становится невостребованной, поэтому Excel освобождает соответствующую область памяти.
Наиболее популярный способ объявить локальную переменную — вставить оператор Dim (сокращение от Dimension (Размерность)) между операторами Sub и End Sub. Операторы Dim обычно вводятся непосредственно после оператора Sub, перед кодом процедуры.
Локальные переменныеЛокальная переменная — это переменная, объявленная в процедуре. Локальные переменные могут использоваться только в процедуре, в

Слайд 25Переменные уровня модуля
Иногда необходимо, чтобы переменная была доступна во всех

процедурах модуля. В таком случае объявляется переменная перед первой процедурой

модуля (за пределами процедур или функций).

Переменные Static

Переменные Static — особый случай. Они объявляются на уровне процедуры и сохраняют свое значение после окончания процедуры.

Переменные уровня модуляИногда необходимо, чтобы переменная была доступна во всех процедурах модуля. В таком случае объявляется переменная

Слайд 26Переменные Public
Чтобы сделать переменную доступной во всех процедурах всех модулей

VBA в проекте, необходимо объявить переменную на уровне модуля с

помощью ключевого слова Public , а не Dim:
Public CurrentRate as Long
Ключевое слово Public делает переменную CurrentRate доступной для любой процедуры проекта, даже для процедур, которые располагаются в других модулях проекта. Этот оператор следует вставить перед первой процедурой модуля. Более того, подобный код объявления переменных должен вводиться в стандартном модуле VBA, а не в коде модуля листа или формы.
Переменные PublicЧтобы сделать переменную доступной во всех процедурах всех модулей VBA в проекте, необходимо объявить переменную на

Слайд 27Работа с константами
Значение переменной может изменяться при выполнении процедуры. Иногда

же необходимо использовать именованное значение или строку, которая никогда не

меняется — константу.
Константы объявляются с помощью оператора Const. Например:
Const NumQuarters as Integer = 4
Const Rate = 0.0725, Period = 12
Во втором примере тип данных не объявлен. Следовательно, указанные две константы имеют тип Variant . Так как константы никогда не изменяют своего значения, обычно их объявляют в виде конкретного типа данных.
Работа с константамиЗначение переменной может изменяться при выполнении процедуры. Иногда же необходимо использовать именованное значение или строку,

Слайд 28Как и переменные, константы также имеют область действия. Если требуется,

чтобы константа была доступна только в одной процедуре, т.е. локальной,

она объявляется после оператора Sub или Function. Чтобы сделать константу доступной для всех модулей рабочей книги, используется ключевое слово Public и константа объявляется перед первой процедурой модуля.
Public Const Per As Double = 0.0725
При попытке изменить значение константы в процедуре VBA выходит сообщение об ошибке. Константа — это постоянное значение, а не переменная.
Как и переменные, константы также имеют область действия. Если требуется, чтобы константа была доступна только в одной

Слайд 29Операторы присвоения
Оператор присвоения — это инструкция VBA, выполняющая математическое вычисление

и присваивающая результат переменной или объекту. Выражение может осуществлять вычисление,

обрабатывать символы или тестировать данные. В VBA оператором присвоения выступает знак равенства (=).VBA поддерживает операторы сравнения, которые применяются в формулах Excel: равно (=), больше (>), меньше (<), больше или равно (>=), меньше или равно (<=) и не равно ( <> ) .
Операторы присвоенияОператор присвоения — это инструкция VBA, выполняющая математическое вычисление и присваивающая результат переменной или объекту. Выражение

Слайд 30В VBA операторы играют главную роль. Известные вам операторы описывают

математические операции, в том числе сложение (+), умножение (*), деление

(/), вычитание (—), возведение в степень (^) и конкатенацию строк (&).
Менее знакомые операторы: обратная косая черта (\)— используется в целочисленном делении, оператор Abs — применяется при определении модуля числа. Оператор Mod возвращает остаток от деления одного числа на другое. Например, следующее выражение возвращает 2:
17 Mod 3
В VBA операторы играют главную роль. Известные вам операторы описывают математические операции, в том числе сложение (+),

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика