Задача 14
На рабочем листе Excel представлены продажи фирмы по регионам и по месяцам за 3 года. Список состоит из семи полей: Месяц, Регион1, Регион2, Регион3, Регион4, Регион5. Диапазон ячеек B2:B37 заполнен объектами продаж. Этому диапазону присвоено имя SalesRange. Написать процедуру, которая будет отслеживать продажи в каждом регионе, причем для каждого региона необходимо отобразить сообщение с количеством месяцев, когда продажи превышали определенное пользователем значение.
Примечание: сообщение по регионам выдавать с использованием функции MsgBox. Для ввода объема продаж, с которого начинать подсчет количества месяцев, в которых объем продаж превышал введенное пользователем значение, использовать функции InputBox.
Sub HighSales()
Dim I As Integer, j As Integer, NumberHigh As Integer, Sales As Currency
Sales = InputBox(“Введите объем продаж”,”окно ввода”)
For j = 1 to 5
NumberHigh = 0
For i = 1 to 36
If Range (“SalesRange”).Cells(i,j) >= Sales Then NumberHigh = NumberHigh + 1
Next i
MsgBox”В регионе”_&_j_”_объем продаж превышал заданную величину_”_&_”_в_”_&_NumberHigh _&_”_из 36 месяцев”,vbInformation,”окно информации о продажах”
Next j
End Sub
Задача 15
Написать программный код специального типа процедуры-функции. Назначение функции – возвращать значение в процедуру или на рабочий лист Excel. В данном случае функция должна возвратить в ячейку G3 рабочего листа Excel большее из двух чисел 10 и 13, переданных в нее. Аргументы функции, в которые передаются значения, обозначить через Number1, Number2. Полученное значение занести в переменную Larger. Тип аргументов и функции определить как Integer. Написать, как должно выглядеть содержимое ячейки G3 на рабочем листе Excel при обращении из этой ячейки к функции Larger.
Sub Number()
Dim Number3 As Integer, Number4 As Integer, A As Integer
Number3 = InputBox("Введите первое число", "Ввод первого числа")
Number4 = InputBox("Введите второе число", "Ввод второго числа")
A = LargerNumber(Number3, Number4)
End Sub
Public Function LargerNumber(Number1 As Integer, Number2 As Integer) As Integer
Dim Larger As Integer
If Number1 > Number2 Then
Larger = Number1
Else
Larger = Number2
End If
Range("G3").Value = Larger
LargerNumber = Larger
End Function
Задача 16
Написать программный код специального типа процедуры-функции. Назначение функции – возвращать значение в процедуру или на рабочий лист Excel. В данном случае функция Larger должна возвратить в процедуру CallingSub большее из двух чисел 10 и 13, переданных в функцию из процедуры. В процедуре CallingSub эти числа присвоены переменным FirstName, SecondName соответственно. Каждая из переменных имеет тип Integer. Полученный результат обращения к функции выдать на экран с помощью функции MsgBox. Аргументы функции, в которые передаются значения, обозначить через Number1, Number2. Полученное значение занести в переименованную Larger. Тип аргументов и функции определить как Integer.
Sub Calling()
Dim FirstName As Integer, SecondName As Integer, A As Integer
Range(“A1”).Value = 10
Range(“A2”).Value = 13
FirstName = Range(“A1”)
SecondName = Range(“A1”)
A = LargerNumber(FirstName, SecondName)
End Sub
Function LargerNumber(Number1 As Integer, Number2 As Integer) As Integer
Dim Larger As Integer
If Number1>Number2 Then
Larger = Number1
MsgBox”Большее число:”_&_Larger
Else
Larger=Number2
MsgBox”Большее число:”_&_Larger
End If
LargerNumber = Larger
End Function