Инструкция Select Case
Select Case выражение [Case списокВыражений – n [инструкции – n]] … [Case Else [инструкции – else]] … End Select выражение, выражение Toвыражение Is операторСравнения выражение
Sub iftest2() Select Case intNum Case 1 to 5 MsgBox “Введенное число ” & intNum & “ между 1 и 5!” Case 6, 7, 8, 9 MsgBox “Введенное число ” & intNum & “ между 6 и 9!” Case 10 MsgBox “Введенное число ” & intNum & “ равно 10!” Case Is <15 and intNum>10 MsgBox “Введенное число” & intNum & “ больше 10 и меньше 15!” Case Else MsgBox “Введенное число” & intNum & “ равно 15!” End Select End Sub
Функция IIF() IIF (<условие>, <выражение1>, <выражение2>) Function y() Dim x As Double X=InputBox(“Введите значение Х:”) Y=IIF(X>1, 0.5*X^1/3, IIF(X<0.05*abs(x)^0.25,1/3*X^2)) Beep Msgbox “Y=” & str(y) End Function Циклические конструкции For…Next, For Each…Next, Do…Loop, Do While…Loop, Do Until…Loop, Do… Loop Until Программирование арифметических циклов Цикл с параметром For…Next Синтаксис конструкции:
For <управляющая переменная>= <начальное значение> To <конечное значение> [Step <шаг>] <инструкции тела цикла> [Exit For] [<инструкции тела цикла>] Next [<управляющая переменная>]
Sub fortest() Dim i As Integer For i = 1 To 10 If i Mod 2 = 0 Then Debug.Print i & "четный номер" Else Debug.Print i & " нечетный номер" End If Next End Sub
Цикл For Each…Next Синтаксис инструкции: For Each <элемент> In <группа> <инструкции> [Exit For] [<инструкции>] Next [<номер>]
Пример 1: For Each myObject in myCollection If Abs(myObject.Value) < 0.01 Then myObject.Value = 0 Next
Пример 2:
Sub forEach2() Dim TestArray(10) As Integer Dim I As Variant For I = 1 To 10 TestArray(I) = I * 2 Next For Each I In TestArray If I = 6 Then Exit For End If Next I Debug.Print I & " " & TestArray(I) End Sub Программирование итерационных циклов Бесконечный цикл. Оператор Do…Loop Синтаксис конструкции: Do <инструкции> [Exit Do] [<инструкции>] Loop Оператор Do While… Loop Синтаксис инструкции: Do while <условие> <инструкции> [Exit Do] [<инструкции>] Loop Пример: Sub dotest() Dim i As Integer Dim itest As Integer i = 1 itest = 1 Do While i = 1 Debug.Print "Номер " & itest If itest = 5 Then i = 0 End If itest = itest + 1 Loop End Sub Оператор Do … Loop While Синтаксис инструкции: Do <инструкции> [Exit Do] [<инструкции>] Loop while <условие> Sub ChkFirstWhile()Dim counter As IntegerDim myNum As Integer counter = 0 myNum = 20 Do While myNum > 10 myNum = myNum - 1 counter = counter + 1 Loop MsgBox "В цикле " & counter & "итераций."End Sub Sub ChkLastWhile()Dim counter As IntegerDim myNum As Integer counter = 0 myNum = 9 Do myNum = myNum - 1 counter = counter + 1 Loop While myNum > 10 MsgBox "В цикле " & counter & "итераций."End Sub Оператор Do Until… Loop Синтаксис инструкции: Do Until <условие> <инструкции> [Exit Do] [<инструкции>] Loop Пример:
Sub dotestU() Dim i As Integer Dim itest As Integer i = 1 itest = 1 Do Until i <> 1 Debug.Print "номер " & itest If itest = 5 Then i = 0 End If itest = itest + 1 Loop End Sub Оператор Do … Loop Until Синтаксис инструкции: Do <инструкции> [Exit Do] [<инструкции>] Loop Until <условие> Пример:
Sub ExitExample() Dim counter As Integer Dim myNum As Integer counter = 0 myNum = 9 Do myNum = myNum - 1 counter = counter + 1 If myNum < 6 Then Exit Do Loop Until myNum = 10 MsgBox "В цикле выполнено " & counter & " итерации." End Sub Инструкция With Синтаксис инструкции: With объект [<инструкции>]… End With Пример: With MyLabel1 . Height=2000 . Witch=2000 . Caption= “Объект MyLabel1” End With Работа с таблицами Private Sub Кнопка0_Click() 'удаление имеющейся таблицы On Error GoTo err_Err err_Err: If Err = 3010 Then If MsgBox("Таблица 'ФинансОтчет' уже имеется, удалить ее?", vbYesNo) Then CurrentDb.Execute ("Drop Table " & "ФинансОтчет;")
End If ©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.
|