Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Zadachiinformgotov.doc
Скачиваний:
24
Добавлен:
20.05.2015
Размер:
121.34 Кб
Скачать

Задача 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