🗊Презентация Функции VBA

Нажмите для полного просмотра!
Функции VBA, слайд №1Функции VBA, слайд №2Функции VBA, слайд №3Функции VBA, слайд №4Функции VBA, слайд №5Функции VBA, слайд №6Функции VBA, слайд №7Функции VBA, слайд №8Функции VBA, слайд №9Функции VBA, слайд №10Функции VBA, слайд №11Функции VBA, слайд №12Функции VBA, слайд №13Функции VBA, слайд №14Функции VBA, слайд №15Функции VBA, слайд №16Функции VBA, слайд №17Функции VBA, слайд №18Функции VBA, слайд №19Функции VBA, слайд №20Функции VBA, слайд №21Функции VBA, слайд №22Функции VBA, слайд №23Функции VBA, слайд №24Функции VBA, слайд №25Функции VBA, слайд №26Функции VBA, слайд №27Функции VBA, слайд №28Функции VBA, слайд №29Функции VBA, слайд №30Функции VBA, слайд №31Функции VBA, слайд №32Функции VBA, слайд №33Функции VBA, слайд №34Функции VBA, слайд №35Функции VBA, слайд №36Функции VBA, слайд №37Функции VBA, слайд №38Функции VBA, слайд №39Функции VBA, слайд №40Функции VBA, слайд №41

Содержание

Вы можете ознакомиться и скачать презентацию на тему Функции VBA. Доклад-сообщение содержит 41 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

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


Слайд 1






РХТУ им. Д.И. Менделеева
Каф. ИКТ
Курс создал: ст. преп. A.М. Васецкий
Описание слайда:
РХТУ им. Д.И. Менделеева Каф. ИКТ Курс создал: ст. преп. A.М. Васецкий

Слайд 2





Пользовательские процедуры
Процедура является самостоятельной частью кода, которая имеет имя и может содержать аргументы, выполнять последовательность инструкций и изменять значения своих аргументов.
Синтаксис:
[Private | Public][Static] Sub Имя[(СписокАргументов)] 
	[Инструкции]
	[Exit Sub] 
	[Инструкции] 
End Sub
Инструкция Exit Sub приводит к немедленному выходу из процедуры
Описание слайда:
Пользовательские процедуры Процедура является самостоятельной частью кода, которая имеет имя и может содержать аргументы, выполнять последовательность инструкций и изменять значения своих аргументов. Синтаксис: [Private | Public][Static] Sub Имя[(СписокАргументов)] [Инструкции] [Exit Sub] [Инструкции] End Sub Инструкция Exit Sub приводит к немедленному выходу из процедуры

Слайд 3





Элементы описания процедуры
Описание слайда:
Элементы описания процедуры

Слайд 4





Синтаксис элемента СписокАргументов
Описание слайда:
Синтаксис элемента СписокАргументов

Слайд 5





Синтаксис элемента СписокАргументов
Описание слайда:
Синтаксис элемента СписокАргументов

Слайд 6





Примеры
Sub Main() 
	Calc 99, 43 ‘один из вариантов вызова
	Call Calc(38, 49) ‘второй вариант вызова
End Sub

Sub Calc(x As Single, y As Single) 
If x * y < 0 Then 
		MsgBox "Корень локализован" 
Else 
		MsgBox "Корень не локализован" 
End If 
End Sub
Описание слайда:
Примеры Sub Main() Calc 99, 43 ‘один из вариантов вызова Call Calc(38, 49) ‘второй вариант вызова End Sub Sub Calc(x As Single, y As Single) If x * y < 0 Then MsgBox "Корень локализован" Else MsgBox "Корень не локализован" End If End Sub

Слайд 7





ParamArray
Sub AnyNumberArgs(strName As String, ParamArray intScores() As Variant) 

Dim intI As Integer 
Debug.Print strName; " Scores" 
For intI = 0 To UBound(intScores())
     Debug.Print "     "; intScores(intI) 
Next intI 
End Sub
Примеры вызова:
AnyNumberArgs "Jamie", 10, 26, 32, 15, 22, 24, 16 
AnyNumberArgs "Kelly", "High", "Low", "Average", "High"
Описание слайда:
ParamArray Sub AnyNumberArgs(strName As String, ParamArray intScores() As Variant) Dim intI As Integer Debug.Print strName; " Scores" For intI = 0 To UBound(intScores()) Debug.Print " "; intScores(intI) Next intI End Sub Примеры вызова: AnyNumberArgs "Jamie", 10, 26, 32, 15, 22, 24, 16 AnyNumberArgs "Kelly", "High", "Low", "Average", "High"

Слайд 8





Конфликты имён
Если в двух модулях находятся процедуры или функции с одинаковыми именами, то во избежание конфликтов их рекомендуется вызывать с использованием имени модуля:
Sub Main() 
    Module1.MyProcedure 
End Sub
Описание слайда:
Конфликты имён Если в двух модулях находятся процедуры или функции с одинаковыми именами, то во избежание конфликтов их рекомендуется вызывать с использованием имени модуля: Sub Main() Module1.MyProcedure End Sub

Слайд 9





Примеры
Описание слайда:
Примеры

Слайд 10





Пользовательские функции
Синтаксис инструкции Function содержит те же элементы, что и sub. Инструкция Exit Function приводит к немедленному выходу из процедуры Function.
Синтаксис: 
[Public | Private] [Static] Function Имя [(СписокАргументов)] [As Тип] 
		[Инструкции]
		[Имя = Выражение] 
		[Exit Function]
		[Инструкции]
		[Имя = Выражение] 
End Function
Описание слайда:
Пользовательские функции Синтаксис инструкции Function содержит те же элементы, что и sub. Инструкция Exit Function приводит к немедленному выходу из процедуры Function. Синтаксис: [Public | Private] [Static] Function Имя [(СписокАргументов)] [As Тип] [Инструкции] [Имя = Выражение] [Exit Function] [Инструкции] [Имя = Выражение] End Function

Слайд 11





Подобно процедуре Sub, процедура Function является самостоятельной процедурой, которая может получать аргументы, выполнять последовательность инструкций и изменять значения своих аргументов. В отличие от процедуры sub, когда требуется использовать возвращаемое функцией значение, Function может применяться в правой части выражения, как и любая другая встроенная функция, например, cos.
Подобно процедуре Sub, процедура Function является самостоятельной процедурой, которая может получать аргументы, выполнять последовательность инструкций и изменять значения своих аргументов. В отличие от процедуры sub, когда требуется использовать возвращаемое функцией значение, Function может применяться в правой части выражения, как и любая другая встроенная функция, например, cos.
Процедура Function вызывается в выражении по своему имени, за которым следует список аргументов в скобках. Для возврата значения из функции следует присвоить значение имени функции. Любое число таких инструкций присвоения может находиться в любом месте процедуры.
Описание слайда:
Подобно процедуре Sub, процедура Function является самостоятельной процедурой, которая может получать аргументы, выполнять последовательность инструкций и изменять значения своих аргументов. В отличие от процедуры sub, когда требуется использовать возвращаемое функцией значение, Function может применяться в правой части выражения, как и любая другая встроенная функция, например, cos. Подобно процедуре Sub, процедура Function является самостоятельной процедурой, которая может получать аргументы, выполнять последовательность инструкций и изменять значения своих аргументов. В отличие от процедуры sub, когда требуется использовать возвращаемое функцией значение, Function может применяться в правой части выражения, как и любая другая встроенная функция, например, cos. Процедура Function вызывается в выражении по своему имени, за которым следует список аргументов в скобках. Для возврата значения из функции следует присвоить значение имени функции. Любое число таких инструкций присвоения может находиться в любом месте процедуры.

Слайд 12





Рекомендации по компоновке функции
При вызове функций, помимо значения функции бывает полезно получить какую-либо информацию о ходе вычислений (достигнутая точность, возникшие ошибки и т.п.). Поэтому помимо входных переменных целесообразно заложить в заголовок одну или больше выходных
переменных.
Пример организации такой функции:
Function SQRT(X As Double, flErr As Boolean) As Double
'Вычисление квадратного корня (модификация)
flErr = (X < 0) 'возвращаем флаг ошибки
SQRT = 0 'Задаём значение по умолчанию
If Not flErr Then SQRT = Sqr(X)
End Function
Описание слайда:
Рекомендации по компоновке функции При вызове функций, помимо значения функции бывает полезно получить какую-либо информацию о ходе вычислений (достигнутая точность, возникшие ошибки и т.п.). Поэтому помимо входных переменных целесообразно заложить в заголовок одну или больше выходных переменных. Пример организации такой функции: Function SQRT(X As Double, flErr As Boolean) As Double 'Вычисление квадратного корня (модификация) flErr = (X < 0) 'возвращаем флаг ошибки SQRT = 0 'Задаём значение по умолчанию If Not flErr Then SQRT = Sqr(X) End Function

Слайд 13





Передача массивов, как аргументы функции
Синтаксис: (ByVal | ByRef) Arrayname() As type
Arrayname – имя передаваемого массива
type – представляет любой допустимый тип VBA или определенный пользователем тип.
Круглые скобки являются обязательными.
Прим. Лучше передавать массивы через ByRef (по ссылке), чтобы не увеличивать объёмы задействованной памяти.
Пример: 
Function Fun(ByVal A() as Byte) as Boolean
Описание слайда:
Передача массивов, как аргументы функции Синтаксис: (ByVal | ByRef) Arrayname() As type Arrayname – имя передаваемого массива type – представляет любой допустимый тип VBA или определенный пользователем тип. Круглые скобки являются обязательными. Прим. Лучше передавать массивы через ByRef (по ссылке), чтобы не увеличивать объёмы задействованной памяти. Пример: Function Fun(ByVal A() as Byte) as Boolean

Слайд 14





Операторы перехода и выбора
Описание слайда:
Операторы перехода и выбора

Слайд 15





Операторы перехода и выбора
Описание слайда:
Операторы перехода и выбора

Слайд 16





Операторы перехода и выбора
Описание слайда:
Операторы перехода и выбора

Слайд 17





IF. Примеры
Описание слайда:
IF. Примеры

Слайд 18





Примеры
В зависимости от значения Cityname возвращает язык 
Matchup = Switch(CityName = "London", "English", CityName = "Rome",   "Italian", CityName = "Paris",    "French")
Если Test>10, то много, иначе, мало
IIf(Test > 10, "много", "мало")
Choose(1, "Верх", "Низ", "Бок") 
Вернёт "Верх"
Описание слайда:
Примеры В зависимости от значения Cityname возвращает язык Matchup = Switch(CityName = "London", "English", CityName = "Rome", "Italian", CityName = "Paris", "French") Если Test>10, то много, иначе, мало IIf(Test > 10, "много", "мало") Choose(1, "Верх", "Низ", "Бок") Вернёт "Верх"

Слайд 19





Select Case
Select Case sDayOfWeek 
Case "Понедельник" 
	MsgBox "Пн" 
Case "Вторник" 
	MsgBox "Вт" 
… 
Case Else 
	MsgBox "Нет такого"
End Select
Описание слайда:
Select Case Select Case sDayOfWeek Case "Понедельник" MsgBox "Пн" Case "Вторник" MsgBox "Вт" … Case Else MsgBox "Нет такого" End Select

Слайд 20





Операторы повтора
For - Next
Описание слайда:
Операторы повтора For - Next

Слайд 21





Операторы повтора
For Each - Next
Описание слайда:
Операторы повтора For Each - Next

Слайд 22





Пример
Sub TestForEachNextRange() 
For Each iCell In Range("A1:C5") 
      i = i + 1 
      iCell.Value = 10*Int(Rnd*10) & "_" & i 
Next 
MsgBox "Число ячеек : " & i 
End Sub
iCell - переменная, которой присваиваются значения элементов группы (массива или семейства) Для работы с элементами массива переменная должна принадлежать к типу Variant.
Описание слайда:
Пример Sub TestForEachNextRange() For Each iCell In Range("A1:C5") i = i + 1 iCell.Value = 10*Int(Rnd*10) & "_" & i Next MsgBox "Число ячеек : " & i End Sub iCell - переменная, которой присваиваются значения элементов группы (массива или семейства) Для работы с элементами массива переменная должна принадлежать к типу Variant.

Слайд 23





Пример цикла For Each - Next
Описание слайда:
Пример цикла For Each - Next

Слайд 24





Операторы повтора.
Do While | Until - Loop
Синтаксис: 
Do [While | Until Условие] 
		[Инструкции] 
		[Exit Do] 
		[Инструкции] 
Loop 
Повторяет выполнение набора инструкций, пока условие имеет значение True | False. Если условие ложно (т.е. False | True соответственно) уже при входе в цикл, то следует передача управления команде, следующей за Loop
Альтернативный способ выхода из цикла предоставляет инструкция Exit Do
Описание слайда:
Операторы повтора. Do While | Until - Loop Синтаксис: Do [While | Until Условие] [Инструкции] [Exit Do] [Инструкции] Loop Повторяет выполнение набора инструкций, пока условие имеет значение True | False. Если условие ложно (т.е. False | True соответственно) уже при входе в цикл, то следует передача управления команде, следующей за Loop Альтернативный способ выхода из цикла предоставляет инструкция Exit Do

Слайд 25





Операторы повтора.
Do Loop - While | Until 
Синтаксис: 
Do
		[Инструкции] 
		[Exit Do] 
		[Инструкции] 
Loop [While | Until Условие] 
Повторяет выполнение набора инструкций, пока условие имеет значение True | False.
Цикл выполнится по крайней мере 1 раз.
 Альтернативный способ выхода из цикла предоставляет инструкция Exit Do
Описание слайда:
Операторы повтора. Do Loop - While | Until Синтаксис: Do [Инструкции] [Exit Do] [Инструкции] Loop [While | Until Условие] Повторяет выполнение набора инструкций, пока условие имеет значение True | False. Цикл выполнится по крайней мере 1 раз. Альтернативный способ выхода из цикла предоставляет инструкция Exit Do

Слайд 26





Пример Цикла Do – Loop While
Sub DoWhile()
Const N = 1000
Dim A(N) As String, i As Integer
i = 0
Do
    i = i + 1
    A(i) = InputBox(i & " Value?")
Loop While A(i) > 0
MsgBox "Read " & i & " values"
End Sub
Описание слайда:
Пример Цикла Do – Loop While Sub DoWhile() Const N = 1000 Dim A(N) As String, i As Integer i = 0 Do i = i + 1 A(i) = InputBox(i & " Value?") Loop While A(i) > 0 MsgBox "Read " & i & " values" End Sub

Слайд 27





Операторы повтора.
While - Wend
While Условие
		[Инструкции] 
Wend
Выполняет последовательность инструкций пока условие истинно.
В отличие от других циклов не имеет альтернативного выхода.
По возможности следует избегать его применения
Описание слайда:
Операторы повтора. While - Wend While Условие [Инструкции] Wend Выполняет последовательность инструкций пока условие истинно. В отличие от других циклов не имеет альтернативного выхода. По возможности следует избегать его применения

Слайд 28





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

Слайд 29





Математические функции
Описание слайда:
Математические функции

Слайд 30





Математические функции
Описание слайда:
Математические функции

Слайд 31





Математические функции
Описание слайда:
Математические функции

Слайд 32





Некорректные математические операции
Есть минимум две математические операции, которые VBA, как и многие другие языки выполняют некорректно.
1. Возведение 0 в 0 степень с математической точки зрения  не определено. Однако:

Sub Pow()
Dim x As Double, i As Integer
i = 0
x = 0 ^ i
MsgBox x
End Sub
Описание слайда:
Некорректные математические операции Есть минимум две математические операции, которые VBA, как и многие другие языки выполняют некорректно. 1. Возведение 0 в 0 степень с математической точки зрения не определено. Однако: Sub Pow() Dim x As Double, i As Integer i = 0 x = 0 ^ i MsgBox x End Sub

Слайд 33





Некорректные математические операции
2. Корни нечётных степеней от отрицательных чисел в математике определены. Однако, из-за того, что они вычисляются при помощи соответствующих дробных степеней, реализованных, как и остальные степени в машинной арифметике через логарифмы, это вызывает ошибку.
Sub SQ()
Dim x As Double
x = -9
x = x ^ (1 / 3) ‘даст ошибку
x = Sgn(x)*Abs(x) ^ (1 / 3) ‘не даст ошибку

MsgBox x
End Sub
Описание слайда:
Некорректные математические операции 2. Корни нечётных степеней от отрицательных чисел в математике определены. Однако, из-за того, что они вычисляются при помощи соответствующих дробных степеней, реализованных, как и остальные степени в машинной арифметике через логарифмы, это вызывает ошибку. Sub SQ() Dim x As Double x = -9 x = x ^ (1 / 3) ‘даст ошибку x = Sgn(x)*Abs(x) ^ (1 / 3) ‘не даст ошибку MsgBox x End Sub

Слайд 34





Производные функции
Тригонометрические функции
Sec(X) = 1/Cos(X)
Cosec(X) = 1/Sin(X)
Cotan(X) = 1/Tan(X)
Arcsin(X) = Atn(X/Sqr(-X * X + 1))
Arccos(X) = Atn(-X/Sqr(-X * X + 1)) + 
  + 2 * Atn(1)
Arcsec(X) = Atn(X/Sqr(X * X – 1)) + 
Sgn((X) – 1) * (2 * Atn(1))
Arccosec(X) = Atn(X/Sqr(X * X - 1)) + 
+ (Sgn(X) – 1) * (2 * Atn(1))
Arccotan(X) = Atn(X) + 2 * Atn(1)
Описание слайда:
Производные функции Тригонометрические функции Sec(X) = 1/Cos(X) Cosec(X) = 1/Sin(X) Cotan(X) = 1/Tan(X) Arcsin(X) = Atn(X/Sqr(-X * X + 1)) Arccos(X) = Atn(-X/Sqr(-X * X + 1)) + + 2 * Atn(1) Arcsec(X) = Atn(X/Sqr(X * X – 1)) + Sgn((X) – 1) * (2 * Atn(1)) Arccosec(X) = Atn(X/Sqr(X * X - 1)) + + (Sgn(X) – 1) * (2 * Atn(1)) Arccotan(X) = Atn(X) + 2 * Atn(1)

Слайд 35





Гиперболические функции
Sinh(X) = (Exp(X) – Exp(-X)) / 2 
Cosh(X) = (Exp(X) + Exp(-X)) / 2
Tanh(X) = (Exp(X) – Exp(-X)) / (Exp(X) + Exp(-X))
Sech(X) = 2 / (Exp(X) + Exp(-X))
Cosech(X) = 2 / (Exp(X) – Exp(-X))
Cotanh(X) = (Exp(X) + Exp(-X)) / (Exp(X) – Exp(-X))
Arcsinh(X) = Log(X + Sqr(X * X + 1))
Arccosh(X) = Log(X + Sqr(X * X – 1))
Arctanh(X) = Log((1 + X) / (1 – X)) / 2
Arcsech(X) = Log((Sqr(-X * X + 1) + 1) / X)
Arccosech(X) = Log((Sgn(X) * Sqr(X * X + 1) + 1) / X)
Arccotanh(X) = Log((X + 1) / (X – 1)) / 2
LogN(X) = Log(X) / Log(N) ‘Логарифм по основанию N
Описание слайда:
Гиперболические функции Sinh(X) = (Exp(X) – Exp(-X)) / 2 Cosh(X) = (Exp(X) + Exp(-X)) / 2 Tanh(X) = (Exp(X) – Exp(-X)) / (Exp(X) + Exp(-X)) Sech(X) = 2 / (Exp(X) + Exp(-X)) Cosech(X) = 2 / (Exp(X) – Exp(-X)) Cotanh(X) = (Exp(X) + Exp(-X)) / (Exp(X) – Exp(-X)) Arcsinh(X) = Log(X + Sqr(X * X + 1)) Arccosh(X) = Log(X + Sqr(X * X – 1)) Arctanh(X) = Log((1 + X) / (1 – X)) / 2 Arcsech(X) = Log((Sqr(-X * X + 1) + 1) / X) Arccosech(X) = Log((Sgn(X) * Sqr(X * X + 1) + 1) / X) Arccotanh(X) = Log((X + 1) / (X – 1)) / 2 LogN(X) = Log(X) / Log(N) ‘Логарифм по основанию N

Слайд 36





Функции даты и времени
Описание слайда:
Функции даты и времени

Слайд 37





Функции даты и времени
Описание слайда:
Функции даты и времени

Слайд 38





Функции даты и времени
Описание слайда:
Функции даты и времени

Слайд 39





Функции даты и времени (продолжение)
Описание слайда:
Функции даты и времени (продолжение)

Слайд 40





Функции даты и времени (продолжение)
Описание слайда:
Функции даты и времени (продолжение)

Слайд 41


Функции VBA, слайд №41
Описание слайда:



Теги Функции VBA
Похожие презентации
Mypresentation.ru
Загрузить презентацию