Задача 22
Написать процедуру Ргос10 с использованием управляющей структуры For-
Each - Next, вьшолняющую следующие действия:
1. Создать десять новых рабочих книг с использованием метода Add и расположить их окна на экране мозаикой метод (Arrange). 2. С помощью функции MsgBox() выдать сообщение о расположении
oкон.3. С помощью управляющей структуры For- Each- Next закрыть все книги
в приложении Excel, кроме той, в которой размещена сама процедура (обращение к этой книге This Workbook).
4. Развернуть окно активной рабочей книги на всю рабочую область окна
Excel, применив свойство WindowState. Sub Proc10() Dim i as Integer, Dim Book as Workbook For I = 1 to 10 Workbooks.Add Next Windows.Arrange MsgBox “Окна упорядочены мозаикой” For Each Book in Application.WorkBooks If Book.Name <> ThisWorkBook.Name then Book.Close End If Next ActiveWindow.WindowState = xlMaximized End Sub
Задача 23
Напишите процедуру Ргос15. Она должна выполнять следующие действия.
• Запрашивать у пользователя имя покупателя и сохранять его в переменной CustName.
• Запрашивать количество покупок, сделанных покупателем за месяц и со-I хранять его в переменной Nproduct.
Очищать переменную SumMoney для накопления суммы потраченных денег на все покупки за месяц.
• Подсчитать количество потраченных денег на все покупки с использованием управляющей структуры For - Next, внутри которой осуществлять ввод количества денег потраченных на каждую покупку, сохранив его в переменной Money. Результат суммирования присваивать переменной SumMoney.
• Результат подсчета выдавать в окне сообщения с соответствующим текстовым пояснением. Sub Proc15() Dim CustName as String Dim Nproduct as Integer, SumMoney as Integer, Money as Integer, I as Integer CustName = InputBox (“Введите имя клиента:”) Nproduct = InputBox (“Введите количество покупок клиента:”) SumMoney = 0 For I = 1 to Nproduct Money = InputBox (“Введите цену” & I & “покупки:”) SumMoney = SumMoney + Money Next I MsgBox “Сумма покупок за месяц равна” & SumMoney End Sub
Задача 24
Открыть книгу Excel "Торговый дом" па рабочем листе с именем "Торговые операции". Нa рабочем листе создан список, состоящий из двух полей: названия полей "Код продукта", "Цена продукта" расположены в ячейках A3 и ВЗ соответственно. Количество записей в этом списке заранее неизвестно. Написать программный код процедуры выдачи на экран с помощью функции MsgBox информации о цене продукта, код которого вводится с клавиатуры с помощью функции Input Box. Пояснения для составления процедуры:- использовать два массива для размещения в них кодов продуктов и цен на продукты соответственно;- подсчитать общее количество продукции, затем переопределить размер двух массивов;- в цикле For эти массивы заполнить данными столбцов А и В;- запросить у пользователя ввести код продукта и присвоить введенное значение переменной. Затем еще в одном цикле For просмотреть массив кодов продукта в поиске введенного кода продукта;- если код найден, то в переменной сохранить цену продукта по найденному коду, осуществить досрочный выход из цикла и вывести цену в окно сообщения. В противном случае вывести сообщение о ненайденном товаре;
- использовать дополнительную переменную логического типа, для определения найден код или нет.
Sub LookUpPriceO
Dim ProdCode() As String, UnitPriceQ As Currency, ReguestedPrice As Currency, Nproducts As
Integer, i As Integer, Found As Boolean, ReguestedCode As String
With Active Workbook. Worksheets( "Продажи" ).Range("A3")
Nproducts = Range(.Offset(1, 0), .End(xlDown)).Rows.Count
ReDim ProdCode(Nproducts)
ReDim UnitPrice(Nproducts)
For i = 1 To Nproducts
ProdCode(i) = .Offsetfi, 0)
UnitPrice(i) = .Offset(i, 1)
Next i
End With
ReguestedCode = InputВох("Введите код товара(большая буква и четыре цифры)")
Found = False
For i = 1 То Nproducts
If ProdCode(i) = ReguestedCode Then
Found = True
ReguestedPrice = UnitPrice(i)
End If
Next i
If Found Then
MsgBox "Товар с кодом " & ReguestedCode & " стоит " & Format(ReguestedPrice, "0.00р."),
vbInformation, "Товар найден"
Else
MsgBox "Товара с кодом " & ReguestedCode & " нет в списке ", vbInformation, "Товар не найден"
End If End Sub(на след строчке)