Задача 1.
Написать процедуру с именем Proc1, выполняющую следующие действия:
-
Присвоить переменной Num1 случайное значение от 1 до 9.
-
С помощью оператора If – Then – Else проверить выполнение условия Num1 = 7. Если результат проверки равен 7, с помощью функции MsgBox выдать сообщение о выигрыше. В противном случае – о проигрыше. Sub Proc1() Dim Num1 as integer Num1=Int ((9*Rnd)+ 1) If Num1=7 then MsgBox “Поздравляем! Победа!” Else MsgBox “ИЗВИНИТЕ, вы проиграли” End If End Sub
Задача 2.
Написать процедуру с именем Proc2, выполняющую следующие действия:
-
Присвоить переменной Num1 случайное значение от 1 до 9. Для генерации случайного значения использовать процедуру – функцию с именем Function GetRandomNumber().
-
С помощью оператора If – Then – Else проверить выполнение условия Num1 = 7. Если результат проверки равен 7, с помощью функции MsgBox выдать сообщение о выигрыше. В противном случае – о проигрыше. Sub Proc2() Dim Num1 as integer Num1=GetRandomNumber If Num1=7 then MsgBox “Поздравляем! Победа!” Else MsgBox “ИЗВИНИТЕ, вы проиграли” End If End Sub Function GetRandomNumber() GetRandomNumber = Int ((9*Rnd)+ 1) End Function
Задача 2(старая)
В3=Larger(10.13) на рабочем листе Exel
Function Larger (Number1 As Integer, Number2 As Integer) As Integer
If Number1 > Number2 Then
Larger = Number1
Else
Larger = Number2
End If
End Function
Задача3
Написать процедуру с именем Proc3, выполняющую следующие действия:
-
С помощью диалогового окна ввода ввести пароль и присвоить значение введенного пароля переменной PassWord.
-
Если значение введенного пароля равно «Отлично», то с помощью управляющей структуры For Each Sheet In Active WorkBook.Sheets……Next Sheet каждому листу активной рабочей книги задать выполнение следующих действий:
-
Выбрать лист
-
Снять защиту с листа
-
Свойству Visible присвоить значение True.
-
Если пароль введен неверно, то выдать соответствующее сообщение. Sub Proc3() Dim PassWord as String PassWord = InputBox (“Введите пароль:”) If PassWord = “Отлично” then For Each Sheet in ActiveWorkBook.WorkSheets WorkSheet.Select WorkSheet.Unprotect WorkSheet.Visible = True Next Else MsgBox “Пароль неверен” End If End Sub
Задача3(старая)
Private Sub CallingSub()
Dim FirstName As Integer, SecondName As Integer
FirstName = 10
SecondName = 13
A = Larger (FirstName, SecondName)
MsgBox «Большее из двух значений = » & Larger
End Sub
Function Larger (Number1 As Integer, Number2 As Integer) As Integer
If Number1 > Number2 Then
Larger = Number1
Else
Larger = Number2
End If
End Function
Задача4.
Написать процедуру Proc4, вычисляющую факториал числа по следующему алгоритму:
-
Ввести число для вычисления его факториала с помощью функции InputBox и присвоить его значение переменной NumberString.
-
Преобразовать введенное значение в число с помщью функции Val() и присвоить это число переменной Num.
-
Проверить условие Num>=0. Если да, то выполнить вычисление факториала с помощью цикла For – Next, писвоив переменной Factorial полученное значение. Вывести полученный результат в ячейку А5 активной рабочей книги на Лист1.
-
Если Num<0, То выдать соответсвующее сообщение. Sub Proc4() Dim NumberString as string Dim Num as integer, I as integer Dim Factorial as Double NumberString = InputBox(“Введите число:”) Num = Val(NumberString) If Num>=0 then Factorial =1 For i=1 to Num Factorial = Factorial*i Next i ActiveWorkBook.WorkSheets(1).Select Range (“A5”)=Factorial Else MsgBox “Факториал отрицательного числа не существует” End If End Sub
Задача5.
Написать процедуру Proc5 с использованием управляющей структуры Select Case, выполняющую следующие действия:
-
С помощью диалогового окна ввода ввести пароль и присвоить значение введенного пароля переменной PassWord.
-
Используя стуктуру Select Case и переменную PassWord в зависимости от значения введенного пароля, описать выполнеиние следующих действий с листами активной рабочей книги:
-
Если PassWord= «Отлично», то с рабочего листа с именем «Продажи» снять защиту и с помощью свойства Visible отменить скрытие этого рабочего листа.
-
Если PassWord= «Хорошо», то снять защиту со 2го рабочего листа.
-
Если пароль введен неверно, то выдать соответствующее сообщение с помощью функции MsgBox. Sub Proc5() Dim PassWord as String PassWord = InputBox (“Введите пароль:”) Select Case PassWord Case “Отлично” WorkSheet(“Продажи”).Unprotect WorkSheet(“Продажи”).Visible = True Case “Хорошо” WorkSheet(2).Unprotect Case Else MsgBox “Неверный пароль” End Select End Sub
-
Задача6.
Написать процедуру Proc6 с использованием управляющей структуры For-Each- Next, выполняющую в активной рабочей книге следующие дествия:
-
Выполнить выделение каждого рабочего листа (объект SheetVar).
-
Снять защиту с рабочего листа.
-
Сделать рабочий стол видимым.
-
Вывести имя рабочего листа в окно сообщения.
Sub Proc6 ( ) Dim SheetVar As Worksheet For Each SheetVar In ActiveWorkBook.Worksheets SheetVar.Select SheetVar.Unprotect SheetVar.Visible=True MsgBox SheetVar. Name Next End Sub
Задача 7.
Написать процедуру Ргос7 с использованием управляющей структуры For- Each- Next, выполняющую с объектом Range в активной рабочей книге следующие действия:
1. Выделить рабочий Лист 1.
2. Для каждой ячейки диапазона "Al :F20" выделенного рабочего листа выполнить:
♦ Если содержимое ячейки из этого диапазона не равно 25, то установить для нее размер шрифта 18, полужирный, цвет заливки - красный (3).
♦ Если содержимое ячейки равно 25, то никаких действий не предпринимать.
Sub Proc7() Dim Cell As Range ActiveWorkBook.WorkSheet("Лист1").Select For Each Cell In Range("A1:F20") If Cell.Value<>25 Then With Cell.Font .Size=18 .Bold=True .ColorIndex=3 End With End If Next End Sub