'

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

Понравилась презентация – покажи это...





Слайд 0

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


Слайд 1

Ввод кода VBA Код VBA состоит из инструкций. После ввода инструкции редактор VBA выполняет следующие действия: вставляет пробелы между операторами и операндами; изменяет регистр символов ключевых слов, свойств, методов и переменных; проверяет инструкцию на наличие синтаксических ошибок.


Слайд 2

Комментарии Комментарий – это часть программы, которая игнорируется компилятором. Комментариями в VBA считается часть строки, начинающаяся с апострофа. Используйте комментарии: для описания назначений переменных; для краткого описания назначения каждой процедуры и функции; для описания изменений, которые были внесены в процедуру или функцию; для указания функции или конструкции, использующейся нестандартным способом.


Слайд 3

Типы данных


Слайд 4

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


Слайд 5

Типы данных


Слайд 6

Типы данных


Слайд 7

Работа с типом Variant Dim v1 As Variant, v2 As Variant v1 = "123" v2 = 45 MsgBox v1 + v2 '168 MsgBox v1 & v2 '12345 Dim v As Variant v = 46.7 MsgBox VarType(v) '5 MsgBox TypeName(v) 'Double


Слайд 8

Работа с типом Variant Чтобы не запоминать числа, соответствующие тому или иному типу, в VBA введены константы, имена которых запомнить намного проще – vbBoolean, vbByte, vbInteger, vbLong, vbSingle, vbDouble, vbCurrency, vbDate, vbString, vbArray.   If VarType(v) = vbDouble Then ... Dim v As Variant v = CVErr(0)


Слайд 9

Коды ошибок, возникающих в формулах


Слайд 10

Переменные и константы


Слайд 11

Переменные Под переменной в программировании понимается поименованная область памяти, в которой хранится некоторое значение, причём это значение может изменяться в ходе выполнения программы.   Dim <имя> [As <тип>] Dim n As Integer Dim i, j, k As Integer 'Только переменная k имеет тип Integer! Dim i As Integer, j As Integer, k As Integer 'Теперь все переменные имеют тип Integer Option Explicit


Слайд 12

Константы Если некоторое значение используется несколько раз, лучше не вставлять его в несколько инструкций, а объявить в виде константы.   Const <имя> [As <тип>] = <значение> Const count As Integer = 255 Const tax = 0.13, expDate = #12/31/2012#


Слайд 13

Массивы Массив – это переменная, состоящая из нескольких элементов одного типа, для доступа к которым используется один или несколько индексов.   Dim <имя> (<начальный индекс> To <конечный индекс>) As <тип> Dim a (1 To 100) As Integer Dim b (1 To 10, 1 To 10) As Double a(3) = 7 b(5, 2) = -3.568


Слайд 14

Динамические массивы Динамические массивы – это массивы, которые не имеют предопределённого количества элементов.   Dim a() As Integer ... ReDim a(1 To n)


Слайд 15

Объектные переменные Объектная переменная – это переменная, представляющая собой объект VBA, например, диапазон или рабочий лист. Объектные переменные важны по следующим причинам: они упрощают программу; они ускоряют выполнение программы. Dim MyCell As Range Set MyCell = Worksheets("Лист1").Range("A1") MyCell.Value = 125 MyCell.Font.Bold = True MyCell.Font.Italic = True MyCell.Font.Size = 14 MyCell.Font.Name = Cambria


Слайд 16

Управляющие конструкции


Слайд 17

Условный оператор Условный оператор позволяет осуществлять выбор действий, которые надо выполнить, в зависимости от некоторого условия. If <условие> Then <инструкции1> [Else <инструкции2>] End If


Слайд 18

Условный оператор If k <> 0 Then s = s / k End If   If k <> 0 Then s = s/ k   If x > y Then s = s + x Else s = s + y End If


Слайд 19

Условный оператор If <условие1> Then <инструкции1> Elseif <условие2> Then <инструкции2> ... Elseif <условиеn> Then <инструкцииn> Else <инструкцииn+1> End If


Слайд 20

Условный оператор Dim quantity As Integer Dim discount As Double If quantity > 100 Then discount = 0.25 ElseIf quantity > 75 Then discount = 0.2 Elseif quantity > 50 Then discount = 0.1 Else discount = 0 End If


Слайд 21

Циклы Циклы позволяют многократно выполнять некоторую последовательность действий, используя логические выражения для определения момента прекращения выполнения цикла. Наиболее часто используемым является параметрический цикл. For <счётчик> = <начальное значение> To <конечное значение> [Step <шаг>] <инструкции> [Exit For] <инструкции> Next <счётчик>


Слайд 22

Циклы Dim sum As Double, i As Integer sum = 0 For i = 1 to 100 sum = sum + sqr(i) Next i   Dim sum As Double, i As Integer sum = 0 For i = 3 to 100 Step 3 sum = sum + sqr(i) Next i


Слайд 23

Циклы Dim r As Long For r = 10 To 2 Step -2 Rows(r).Delete Next r   Dim sum As Double, threshold As Double, i As Integer sum = 0 threshold = 100 For i = 1 to 100 sum = sum + sqr(i) If sum > threshold Exit For End If Next i


Слайд 24

Циклы Dim r as Range, sum As Double, i As Integer, j As Integer sum = 0 For i = 1 To r.Rows.Count For j = 1 To r.Columns.Count sum = sum + r.Cells(i, j) Next j Next i   Dim r as Range, k As Integer, i As Integer, j As Integer k = 0 For i = 1 To r.Rows.Count For j = 1 To r.Columns.Count If r.Cells(i, j) > 0 Then k = k + 1 Next j Next i


Слайд 25

Работа с объектами и коллекциями Конструкция With – End With позволяет выполнить несколько операций над одним объектом. With <объект> <инструкции> End With


Слайд 26

Работа с объектами и коллекциями With Selection.Font .Bold = True .Italic = True .Size = 14 .Name = Cambria End With   Selection.Font.Bold = True Selection.Font.Italic = True Selection.Font.Size = 14 Selection.Font.Name = Cambria


Слайд 27

Работа с объектами и коллекциями Конструкция For Each – Next позволяет обработать все элементы какой-либо коллекции. For Each <элемент> In <коллекция> <инструкции> [Exit For] <инструкции> Next <элемент>


Слайд 28

Работа с объектами и коллекциями Dim item As Worksheet For Each item In ActiveWorkbook.Worksheets MsgBox item.Name Next item   Dim book As Workbook For Each book In Workbooks If book.Name <> ActiveWorkbook.Name _ Then book.Close Next book


Слайд 29

Работа с объектами и коллекциями Dim cell As Range For Each cell In Selection If cell.Value < 0 Then cell.Select Exit For End If Next cell


×

HTML:





Ссылка: