ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 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