Создайте на VBA приложение для анализа доходов от издательской деятельности по разделу упражнений «Решение задач. Подбор параметра».



MS VBA

Создайте на VBA функцию пользователя «Стоимость» (см. стр. 80 уч. пособия «Информатика. Microsoft Office Professional »).

Создайте на VBA приложение «Калькулятор», используя приведенные ниже вид UserForm и пример текста процедуры.

Рис. 1

x = CDbl(TextBox2.Text)

Range("B3").Value = x

Range("B4").Formula = "=ACOS(B3)"

y = Range("B4").Value

TextBox1.Text = CStr(Format(y, "######0.0#############"))

Создайте на VBA приложение «Стоимость товара с учетом скидки», используя созданную в п.1 функцию «Стоимость».

Указания по выполнению.

При разработке приложения создайте UserForm по следующему образцу (рис. 2):

 

 

Рис.2

Для вычисления цены товара с учетом скидок используйте функцию «Стоимость», созданную при выполнении упражнения 1.

Для ввода специальной скидки используйте элемент управления Check Box. Надпись «Внимание! Скидка только по дисконтной карте» должна появляться только при установке флажка CheckBox.

 

4. Создайте на VBA приложение "Расчет маргинальной процентной ставки".

Условие задачи. Клиент просит дать ссуду размером P с условием возвращения в течение N лет, при размере одной выплаты А (конечно, A*N>P).Есть альтернатива - не давать ссуду клиенту, а положить деньги в банк под i процентов годовых.

Требуется рассчитать:

а) какую сумму нужно положить в банк, чтобы получить (ежегодно!) такой же доход, как и в случае предоставления ссуды;

б) под какой минимальный процент (это и есть маргинальная процентная ставка) можно положить в банк сумму денег, равную ссуде, чтобы получить тот же самый доход, что и при предоставлении ссуды.

 

 

Указания по выполнению.

1. При выполнении п.а) используйте стандартную функцию PV

2. При составлении текста процедуры расчета используйте следующие типовые фрагменты:

а) Описание типов переменных Dim i As Double, Dim n As Integer;

б) функции чтения из окон ввода числовых значений с преобразованием текстового представления числа в число в формате Integer или Double:

i=CInt(TextBox1.Text)

p=CDbl(TextBox2.Text)

в) функции переформатирование вычисленных значений из числовой формы в текстовую и вывод их в диалоговые окна:

TextBox3.Text = CStr(Format(p,"Fixed"))

3. Для вычисления маргинальной процентной ставки создайте программным путем таблицу:

Табл. 1

  A B
1    
2 Число выплат n
3 Размер ссуды p
4 Размер одной выплаты a
5 Процентная ставка i
6 Текущий объем ссуды =PV(B5,B2,-B4)
7 Маргинальная процентная ставка i
8 Маргинальный чистый объем ссуды =PV(B7,B2,-B4)

 

     Собственно вычисление маргинальной процентной ставки произведите при использовании метода GoalSeek объекта Range.

При разработке приложения создайте UserForm по следующему образцу (рис. 3):

 

 

Рис. 3

 

Создайте на VBA приложение для анализа доходов от издательской деятельности по разделу упражнений «Решение задач. Подбор параметра».

Примечание. Используйте при создании приложения элемент управления ComboBox, МЕТОД AddItem при заполнении, СВОЙСТВО ListRow для задания количества элементов списка.

Пример. ComboBox1.AddItem "КолЭкз"

           ComboBox1.ListRow=4

Указания по выполнению.

При разработке приложения создайте UserForm по следующему образцу (рис. 13):

Здесь «Расчет доходов/расходов», «Подбор параметра» и «Сброс» - кнопки управления (Button), «Фактор» - поле со списком (ComboBox), остальные элементы - окна ввода/вывода (TextBox).

 

 

 

Рис. 4

Программа создаваемого приложения должна обеспечить:

а) создание таблицы :                                                 Табл. 17

  A

B

1

Расходы/доходы от издания книги

2

 

 
3

 

 
4

Количество экземпляров

20 000
5

Доход

 =B17*B4
6

Себестоимость

 =B18*B4
7

Валовая прибыль

 =B5-B6
8

% накладных расходов

30
9

Затраты на зарплату

 =250*B4
10

Затраты на рекламу

 =50*B4
11

Накладные расходы

 =B5*B8/100
12

Валовые издержки

 =B11+B9+B10
13

 

 
14

Прибыль от продукции

 =B7-B12
15

 

 
16

 

 
         17

Цена продукции

6000
18

Себестоимость продукции

2000
       

 

б) подбор параметра в ячейке В14 (выяснить условия получения определенной заданной прибыли за счет всех возможных изменений факторов: тиража, уровня накладных расходов, цены и себестоимости).

Заполнение списка ComboBox производите программно, с помощью отдельной процедуры в модуле по следующему образцу:

Private Sub UserForm_Initialize()

With ComboBox1

.AddItem "КолЭкз"

.AddItem "НаклРасх"

.AddItem "ЦенаКниги"

.AddItem "СебестКниги"

.ListRows = 4

End With

End Sub

 

При составлении программы рекомендуется воспользоваться примерами, приведенными в разделе «Основные средства VBA» и приведенными ниже:

а) Чтение текста из окна ввода и преобразование его в числовой формат (Integer):

k = CInt(TextBox2.Text)

б) Запрет ввода в окно, предназначенное для вывода:

TextBox6.Enabled = False

в) Назначение функции кнопки CommandButton1 клавише Enter:

With CommandButton1

.Default = True

End With

г) Установка текста всплывающей подсказки для кнопки CommandButton1:

With CommandButton1

   .ControlTipText = "Поиск значения"

End With

Дополните разработанные приложения по п. 1-5, предусмотрев в них следующие дополнительные средства:

§ запрет ввода текста в окна, предназначенные для вывода (свойство Enabled=False);

§ всплывающие таблички с комментариями к элементам управления на панели UserForm (свойство ControlTipText);

§ кнопки для закрытия панелей UserForm (используйте метод Hide);

§ встроенные диалоговые окна InputBox и MsgBox;

  • присвоение клавишам Enter и Cancel функций кнопок на панели UserForm (свойства Default и Cancel соответственно);
  • дополнительную процедуру, выполняющую предыдущую функцию при инициализации UserForm (событие Initialize).
  • Дополните программу «Расчет маргинальной процентной ставки» средствами обработки ошибок:

а) выход из процедуры с установкой фокуса на окно ввода (TextBox1) при ошибке в формате данных;

б) выход из процедуры с установкой фокуса на окно ввода при ошибке в данных (если сумма выплат оказывается меньше ссуды).

 

6. Создайте приложение пользователя для ведения базы данных

Указания по выполнению задания

 

1. UserForm рекомендуется создать по приведенной ниже форме рис. 5 и с приведенным набором окон ввода/вывода и кнопок управления.

2. При программном создании в Excel приведенной ниже табл. 2 используйте следующие объекты, методы, свойства и события VBA:

а) Очистка ячеек активного листа рабочей книги Excel:

ActiveSheet.Cells.Clear

б) Заполнение строки заголовков таблицы базы данных:

Range("A1:L1").Value = Array("Дата", "НаимОрганиз", "Кол1", "Цена1", "Сумма1", "Кол2", "Цена2", "Сумма2", "Всего", "Дата_опл.", "Оплата", "Остаток")

в) Определение текущей пустой строки БД:

НомерСтроки = Application.CountA(ActiveSheet.Columns(1)) + 1

б) Внесение очередной записи в БД:

With ActiveSheet

.Cells(НомерСтроки, 1).Value = Дата

.Cells(НомерСтроки, 2).Value = НаимОрг

………………………………………..

End With

3. Значения Цена1, Цена2 задайте в программе, значения Сумма1, Сумма2, Всего, Остаток – вычислите в программе.

 

                                                                                                                      Табл. 2

Дата Наим. организ. Кол1 Цена1 Сумма1 Кол2 Цена2 Сумма2 Всего Дата Оплата Оста-ток
01.янв ВИЛАРД 50 30 1500   40 0 1500 15. янв 1400 100
01.янв КАРАТ 80 30 2400   40 0 2400   0 2400
01.янв КОНДАС 50 30 1500 2 40 80 1580 05. янв 1000 580
01.янв ЛИГА 20 30 600   40 0 600   0 600
02.янв ЛОРА 100 30 3000 1 40 40 3040 07. янв 3000 40
02.янв СОЛО 50 30 1500   40 0 1500   0 1500
02.янв ТИГР 50 30 1500   40 0 1500   0 1500
03.янв АЛЬЯНС 50 30 1500   40 0 1500   0 1500
03.янв АННА-МАРИЯ 200 30 6000   40 0 6000   0 6000

 

Примечание: В именах переменных в программе не должны содержаться символы точки и запятой.

3. Для создания модулей формирования отчетов после создания базы данных создайте макросы в Excel, используя MacroRecorder, затем скопируйте тексты макросов через буфер обмена.

 

 

Рис. 5

7. Создайте многостраничное приложение

 

Указания по выполнению

а) Многостраничное приложение должно содержать титульный лист и листы, на каждом из которых размещены созданные ранее приложения пользователя по п.п. 1-6.

б) На одном из листов должен быть выведен график, созданный средствами VBA, (см. example11.xls). Пример текста программы приведен ниже

 

 

Приложение 1. Примеры методов и свойств объектов VBA в Excel.

Объект Worksheet и семейство Worksheets

Метод Действие Пример
Activate Активизация указанного рабочего листа Worksheets(1).Activate
Add Создание нового рабочего листа ActiveWorkbook.Worksheets.Add
Delete Удаление рабочего листа Worksheets(1).Delete
Protect Установка защиты активного листа от внесения в него изменений Activesheet.Protect Password:=”Мария”
Unprotect Снятие защиты с активного листа Activesheet.Unprotect Password:=”Мария”
Copy Копирование активного листа в другое место рабочей книги Worksheets(“Лист1”).Copy after:= Worksheets(“Лист3”)

 

Объект Range

Свойство Действие Пример
Value Возвращает значение из ячейки Заносит в ячейку значение Заносит в ячейку текст x=Range(“B1”).Value Range(“B1”).Value=y Range(“B1”).Value=”Объем ссуды”
NumberFormat Заносит в ячейку параметры формата Range(“B3”).NumberFormat=”0.00%”
Formula Заносит в ячейку формулу Range(“B5”).Formula=”=A5*B17”
WrapText Устанавливает режим ввода текста в ячейку с переносом по словам With Range(“B2”)   .Value=”Компьютер Пентиум 4”   .WrapText = True End With

 

 

Объект Range

Метод Действие Пример
Select Выделяет диапазон ячеек Range(“A1:G17”).Select
AutoFit Автоматически настраивает ширину помеченных строк /столбцов Selection.Rows.AutoFit  Selection.Columns.AutoFit
Clear Очищает диапазон ячеек Range(“A1:G17”).Clear
Copy Копирует диапазон ячеек в другой диапазон Range(“A1:A4”).Copy _ Destination:=Range(“D1:D4”)[1]
GoalSeek Производит подбор параметра Range(“B8”).GoalSeek Goal:=p,_ ChangingCell:=Range(“B7”)[2]

 

Приложение 2. Примеры методов, свойств и событий элементов управления VBA в Excel.

Объект UserForm

Метод Действие Пример
Show Отображает UserFofm на экране UserFofm1.Show
Hide Скрывает UserFofm UserFofm1.Hide

 

Событие Действие Пример заголовка процедуры
Initialize Происходит при отображении формы на экране Private Sub UserForm_ Initialize ()
Terminate Происходит при закрытии формы Private Sub UserForm_ Terminate ()

 

Объект TextBox

Свойство Действие Пример
Text Возвращает текст, содержащийся в поле Цена=TextBox1.Text
Enabled Разрешает/запрещает вносить изменения в поле (окно TextBox) TextBox1.Enabled=True TextBox1.Enabled=False
WordWrap Разрешает/запрещает перенос в поле по словам TextBox1. WordWrap =True TextBox1. WordWrap =False
Visible Разрешает/запрещает отображение TextBox на экране TextBox1. Visible =True TextBox1. Visible =False

 

Объект Label

Свойство Действие Пример
Caption Возвращает текст, отображаемый в надписи Label2.Caption=”Функция”
WordWrap Разрешает/запрещает перенос в надписи по словам Label2. WordWrap =True Label2. WordWrap =False
Visible Разрешает/запрещает отображение надписи на экране Label2. Visible =True Label2. Visible =False

 

Объект CommandButton

Свойство Действие Пример
Caption Возвращает текст, отображаемый на кнопке CommandButton1.Caption=”Выполнить”
Enabled Разрешает/запрещает нажатие кнопки пользователем CommandButton1. Enabled =True CommandButton1. Enabled =False
Visible Разрешает/запрещает отображение кнопки на экране во время выполнении программы CommandButton1. Visible =True CommandButton1. Visible =False
Default Присваивает/отменяет присвоение клавише <Enter> функции кнопки CommandButton1. Default =True CommandButton1. Default =False
Cancel Присваивает/отменяет присвоение клавише <Esc> функции кнопки CommandButton1. Cancel =True CommandButton1. Cancel =False
ControlTipText Создает всплывающую табличку с надписью CommandButton1. ControlTipText=”После нажатия на кнопку ваш ответ не может быть изменен”

 

Объект OptionButton

Свойство Действие Пример
Caption Создает надпись, отображаемую рядом с переключателем OptionButton OptionButton1.Caption=”Выполнить”
Enabled Разрешает/запрещает пользование переключателем OptionButton 1. Enabled =True OptionButton 1. Enabled =False
Visible Разрешает/запрещает отображение переключателя на экране во время выполнения программы OptionButton 1. Visible =True OptionButton 1. Visible =False


 

 

Visual Basic for Application. Требования к проекту

 

           Проект по разделу Visual Basic for Application должен представлять собой многостраничное приложение пользователя, отражающее:

Учет товаров (изделий), производимых (закупаемых) предприятием с указанием даты (месяца), наименований, количества и себестоимости изделий по каждой позиции;

Учет товаров (изделий), продаваемых (поставляемых) потребителям с указанием даты (месяца), наименований, количества и продажной стоимости изделий по каждой позиции и каждому потребителю, сумму оплаты и остатка (недоплаты);

Анализ данных по продажам, выполняемую по датам и потребителям.

 


Дата добавления: 2019-02-12; просмотров: 853; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!