ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 12.05.2021
Просмотров: 600
Скачиваний: 4
Написать программный код для обработчика UserForm=Initialize, определяющего описанный выше внешний вид формы.
Private Sub OptionButton1_Click()
CheckBox1.Value = True
CheckBox2.Value = False
End Sub
Private Sub SpinButton1_Change()
TextBox2.Text = SpinButton1.Value
End Sub
Private Sub UserForm_Initialize()
With Range(“A4”)
NR = Range (.offset(0,1), .End(xlDown)).Rows.Count
For i = 1 to NR
ListBox1.AddItem (Cells(4+i,1))
Next i
End With
a = Array (3,4,5,6,7,8,9,10,11,12,13,14,15)
For i = 0 to 12
ListBox2.AddItem(a(i))
Nexti
End
Sub
Задача
18.
На рабочем листе Excel расположена информация следующего содержания: В ячейку А1 введен заголовок таблицы, данные начинаются со строки 3. В ячейках с A3 : F3 расположены заголовки столбцов таблицы, номера сотрудников расположены в диапазоне А4: А21 данные таблицы - оценки расположены в диапазоне В4: F21.
Напишите процедуру Ргос18. Она должна выполнять следующие действия. • Сделайте шрифт заголовка в ячейке А1 полужирным, размер = 14 пунктам. • Сделайте шрифт заголовков в строке 3 полужирным курсивом. Установите горизонтальное выравнивание по центру.
• Измените цвет шрифта для номеров работников в диапазоне А 4 :А21, сделав его красным (3).
• Сделайте фон (свойство Interior) ячеек диапазона В4: F21 зеленым (42),
• Введите надпись Среднее в ячейку А22 и сделайте ее шрифт полужирным, I • Введите формулу в ячейку В22ъ подсчитывающую среднее значение в
диапазоне оценок В4: B21.
• Скопируйте формулу в диапазон С22:F22.
Sub proc18()
With Range("a1")
.Font.Size = 14
.Font.Bold = 1
End With
With Range("C1:C6")
.Font.Bold = 1
.Font.Italic = 1
.HorizontalAlignment = 1
End With
Range("A4:A21").Font.ColorIndex = 3
Range("B4:C21").Interior.ColorIndex = 42
With Range("A22")
.Font.Bold = 1
.Value = "Среднее"
End With
Range("B22").Formula = "=срзнач(A4:B21)"
End Sub
Задача 19
Открыть книгу Excel "Коммерческие банки" на рабочем листе с именем "Заставка". Написать программный код процедуры, изменяющий внешний. вид объекта Window (окно) Excel и располагающий в окне объект класса объектов Shapes. Пояснения для составления процедуры:
- с использованием управляющей структуры With-End With для активного окна изменить следующие свойства окна ActiveWindow:
- установить максимальный размер окна;
- не отображать линии сетки;
- не отображать заголовки строк и столбцов;
- убрать название приложения в строке заголовка окна;
- не отображать полосу вертикальной прокрутки;
- не отображать полосу горизонтальной прокрутки
- не отображать ярлычки рабочих листов;
- задать фон диапазона А1: N35 (один из 56 цветов палитры Excel);
- на рабочем листе "Заставка" создать графический объект, например, msoShapeUpRibbon ..., и выбрать его:
- установить для него цвет (свойство ShapeRange .Fill .ForeColor.SchemeColor);
- ввести текст, расположив его на графическом объекте.
Public Sub Заставка()
WorkSheet(“Заставка”).Select
With ActiveWindow
.WindowState = xlMaximized
.DisplayGridlines = False
.DisplayHeadings = False
.Caption = ""
.DisplayHorizontalScrollBar = False
.DisplayVerticalScrollBar = False
.DisplayWorkbookTabs = False
End With
Range("A 1 :N35").Interior.ColorIndex = 43
With Worksheets(“Заставка”)
.Shapes.AddShape(msoShapeUpRibbon, 170, 125, 300, 70).Select
With Selection
.ShapeRange.Fill.ForeColor.SchemeColor = 54
.Characters.Text = "Мы готовы Вам помочь с депозитом"
With .Font
.Name = "Arial"
.FontStyle = "Regular"
.Size = 12
.Bold = True
.Colorlndex = 2
End With
End With
End With
End Sub
Задача 20.
Напишите процедуру Ргос20. Она должна выполнять следующие действия.
• Запрашивать стоимость единицы товара в окне ввода данных. Окно ввода включить в цикл Do, чтобы стоимость запрашивалась до тех пор, пока I пользователь не введет положительное числовое значение (для определения числового значения использовать функцию IsNumeric) и сохранять ее
в переменной Price.
• Запрашивать количество единиц купленного товара в окне ввода данных. Окно ввода включить в цикл Do, чтобы количество запрашивалось до тех пор, пока пользователь не введет положительное числовое значение (для определения числового значения использовать функцию IsNumeric) и со-
хранять ее в переменной Nproduct.
• Определить стоимость купленного товара, присвоив значение переменной Cost.
• Результат
вычисления выдавать в окне сообщения
с соответствующим текстовым пояснением.
Sub
Proc20()
Dim Price as String, Nproduct as String, Cost as
Integer
Dim a as Integer, b as Integer
Do
Price =
InputBox (“Введите
стоимость
единицы
товара”)
If
IsNumeric(Price) then
A=Val(Price)
End If
Loop Until
a>0
Do
Nproduct = InputBox (“Введите
количество
товара”)
If
IsNumeric(Nproduct) then
b=Val(Nproduct)
End If
Loop
Until b>0
Cost=a*b
MsgBox “Стоимость
всего
товара
равна
” & Cost & “ рублей”
End
Sub
Задача
21
Открыть книгу Excel “Коммерческие банки” на рабочем листе с именем “Столичный экспресс”. Написать программный код процедуры, устанавливающей следующие свойства диапазону ячеек, расположенному на этом листе:
- задает фон диапазону “A1:C20” (один из 56 цветов цветовой палитры Excel);
- осуществляет выбор диапазона “A2:M2”;
- с выбранным диапазоном с использованием конструкции With-End With выполнить следующие действия
- слияние блока ячеек “A2:M2” в одну ячейку A2;
- ввод текста в ячейку A2;
- горизонтальное выравнивание по центру введенного текста в ячейку A2;
-выравнивание по вертикали по центру;
-с использованием конструкции With-End With установить следующие свойства для шрифта:
- имя шрифта “Times New Roman”;
- размер шрифта – 20;
- полужирное начертание;
- установка другого цвета шрифта;
- курсив.
Public Sub Заставка()
WorkSheet1(“Столичный экспресс”).Select
Range("A1 :C20").Interior.ColorIndex = 43
Range("A2:M2").Select
With Selection
.Merge
.Value = "Добро пожаловать в БАНК УРАЛСИБ"
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
With .Font
.Name = "Times New Roman"
.Size = 20
.Bold = True
.ColorIndex = 6
.Italic = True
End With
End Sub
Задача 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(на след строчке)
Задача 25
Открыть книгу Excel "Торговый дом" на рабочем листе с именем "Подведение итогов". На рабочем листе с помощью программного кода процедуры ProdSales создать список, состоящий из трех полей: названия полей "Код продукта", "Количество продаж” и "Объем продаж" расположить в ячейках ЕЗ и F3 и G3 соответственно. Количество записей в этом списке будет определяться переменной NFound. Написать программный код процедуры формирования записей списка на рабочем листе элементами уже сформированных массивов ProdCodes(Nfound), Quantity(Nfound), Dollars (Nfound). Пояснения для составления процедуры:
- в начале программного кода выполнить описание переменной Nfound как целой, и массивов размера NFound как первых двух целых и третьего денежного;
- затем занести элементы массивов в столбцы с использованием цикла
For и управляющей структуры With - End With;
- выполнить сортировку списка по объему продаж в порядке убывания, в сортировке заголовки полей не участвуют;
- с помощью функции MsgBox вывести количество записей в списке.
Option Explicit
Option Base 1
Sub ProdSales()
Dim Nsales As Integer, ProdCodesData() As Integer, ProdCodesFound() As Integer, Quantity() As
Integer, DoIIarsData() As Single, DollarsTotal() As Single, i As Integer, j As Integer, NFound As
Integer, NewProduct As Boolean
With Active Workbook. Worksheets("Topговые операции").Range("E3")
Range(.Offset(1. 0), .Offset(0, 2).End(xIDown)).ClearContents
End With
With Active Workbook. Worksheets("Topговые операции ").Range("A3")
Nsales = Range(.Offset(1, 0), .End(xlDown)).Rows.Count
ReDim ProdCodesData(Nsales)
ReDim DollarsData(Nsales)
For i = 1 To Nsales
ProdCodesData(i) = .Offset(i, 0)
DollarsData(i) = .Offset(i, 2)
Next i
End With
NFound = 0
For i = 1 To Nsales
NewProduct = True
If NFound > 0 Then
For j = 1 To NFound
If ProdCodesData(i) = ProdCodesFound(j) Then
NewProduct = False
Quantity(j) = Quantity(j) + 1
DollarsTotal(j) = DollarsTotal(j) + DollarsData(j)
Exit For
End If
Nextj
End If
If NewProduct Then
NFound = NFound + 1
ReDim Preserve ProdCodesFound(NFound)
ReDim Preserve Quantity(NFound)
ReDim Preserve DollarsTotal(NFound)
ProdCodesFound(NF ound) = ProdCodesData(i)
Quantity(NFound) = 1
DollarsTotal(NFound) = DollarsData(i)
End If
Next i
Forj = 1 To NFound
With Range("E3")
.Offset(j, 0) = ProdCodesFound()
.Offset(j, 1) = Quantity(j)
.Offset(j, 2) = DollarsTotal()
End With
Nextj
Range("E4").Sort Key1 :=Range("G4"), Order1:=xlDescending, Header:=xlYes
MssBox "В базе данных проданных товаров найдено " & NFound & " наименований"
End Sub