- •Економічна інформатика Навчально-методичний посібник
- •Видання друге: виправлене і доповнене
- •Передмова
- •Календарно-тематичний план змістового модуля №4
- •Програма змістового модулю №4
- •Визначення підсумкового рейтингу студентів з вивчення модуля №4
- •Тематика, плани, завдання до практичних робіт з вивчення змістового модуля №4
- •Практична робота №1 Тема роботи: Основи роботи в ms Access. Проектування бази даних
- •Теоретичні відомості
- •Завданя до практичної роботи:
- •Практична робота №2 Тема роботи: Створення таблиць в ms Access. Встановлення зв’язків між таблицями. Редагування таблиць.
- •Теоретичні відомості
- •Завдання до практичної роботи:
- •Практична робота №3 Тема роботи: Фільтрація та сортування записів Мета роботи: закріплення навичок сортування та відбору записів в базах даних.
- •Теоретичні відомості
- •Завдання до практичної роботи
- •Практична робота №4
- •Мета роботи: закріплення навичок створення однотабличних та багатотабличних запитів на вибірку та запитів з корегування таблиць План:
- •Теоретичні відомості
- •Завдання до практичної роботи
- •Теоретичні відомості
- •Завдання до практичної роботи:
- •Практична робота №6 Тема роботи: Створення і редагування форм Мета роботи: закріплення навичок створення і редагування однотабличних та багатотабличних форм
- •Теоретичні відомості
- •Завдання до практичної роботи:
- •Практична робота №7 Тема роботи: Створення і редагування однотабличних звітів
- •Теоретичні відомості
- •Завдання до практичної роботи:
- •Практична робота №8 Тема роботи: Створення і редагування багатотабличних звітів
- •Теоретичні відомості
- •Завдання до практичної роботи:
- •Теоретичні відомості
- •Завданя до практичної роботи:
- •Основи офісного програмування практична робота №10
- •Теоретичні відомості
- •Завдання до практичної роботи: Частина і
- •Частина іі
- •Практична робота №11 Тема роботи: Створення програм - додатків мовою vba
- •Теоретичні відомості
- •Завдання до практичної роботи:
- •Практична робота №12 Тема роботи: Технологія використання комп’ютерної техніки в галузі економіки й менеджменту
- •Теоретичні відомості
- •Завдання до практичної роботи:
- •Список літератури
- •Додатки
Завдання до практичної роботи: Частина і
1.За допомогою конструктора, створити в Microsoft Word такі макроси. Завантажити їх, переглянути їх в режимі редактора, що:
-
створює таблицю за зразком та додає в першу комірку поточну дату
|
03/12/2010 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-
відкриває файл Стили.doc, (створений у роботі №2 попереднього модуля) і встановити для всього тексту накреслення ПолужирныйКурсив;
-
виконує будь-які команди (за бажанням).
-
Надрукувати результати завантаження маросів та їх зміст на мові VBA (на одному аркуші).
-
Видалити всі створені макроси з бібліотеки. Видалити кнопки з панелі швидкого доступу, що завантажують створені макроси.
Частина іі
-
За допомогою конструктору в Microsoft Excel на різних аркушах однієї робочої книги створити наступні макроси та призначити їх заватаження кнопкам:
-
для створення електронної таблиці як на рис. 10.1. ;
-
для створення електронної таблиці розв’язування будь-якої фінансової задачі( з практичної роботи №12 попереднього модуля);
-
для створення ЕТ довільного змісту.
2. Надрукувати підсумки завантаження макросів, а також їх зміст на мові VBA.
3. Зберегти файл на ЗНІ з ім’ям макросы.xlsx
Практична робота №11 Тема роботи: Створення програм - додатків мовою vba
Мета роботи: закріплення навичок програмування лінійних та розгалужених алгоритмів на мові VBA.
План:
-
Створення функцій користувача.
-
Налаштування програм – додатків, створених мовою VBA
-
Завантаження програм.
-
Створення програм для розгалужених функцій.
Теоретичні відомості
Створення
функцій користувача.
Крім функцій,
які можна обчислювати за допомогою
Мастера функций,
в MS
Excel
можна обчислювати значення будь-яких
інших функцій, наприклад,
.
Такі нестандартні функції називаються
функціями користувача.
Розглянемо технологію
створення програм для обчислення таких
функцій на прикладі функції
.
Функцію користувача створюють в
стандартному модулі VBA
(редакторі). Для того, щоб жавантажити
VBA-редактор,
можна скористатись кнопкою
,
яку можна ствоити на панелі швидкого
доступу. В вікні Project
відображується ієрархічна структура
файлів, форм і модулів поточного проекту.
Щоб додати новий модуль до проекту
виконується команда Insert,Module.
Далі, в вікно редактора необхідно ввести:
Function y(x As Double) As Double (1)
y = x ^ 2 + 2 * x – 3
End Function
В першому рядку вказується
ім’я функції та типи аргументу х
та функції у
(Double - з
плаваючою точкою подвійної точності).
Закінчується робота з редактором
натисненням кнопки
(закрити поточне вікно). Після того, як
функція користувача створена, вона за
замовчуванням попадає в розділ функции
Определенные пользователем
списка Категории
вікна Мастер
функции.
Переконатись в цьому!
Для цього звернутись до бібліотеки
функцій за допомогою
,
, Функции
определенные
пользователем.
Розглянемо технологію
створення програми на VBA,
яка здійснює табуляцію
даної функції,
якщо

.
Це можна зробити за допомогою модуля:
Sub demo() (2)
Range(“a1”).Value = 0
Range(“a1”).DataSeries RowCol:=xlColumns,
Type:=xlDataSeriesLinear, Step:=0.5, Stop:=10
Dim rgn As Range
Set rgn = Range(“a1”).CurrentRegion
Set rgn = rgn.Offset(0, 1)
Range(“b1”).Formula = “=y(a1)”
Range(“B1”).AutoFill Destination:=rgn, Type:=xlFillCopy
rgn.NumberFormat = “0.000”
End Sub
Завантаження програм. Щоб завантажити створену програму використовується меню Run,Run Sub вікна Microsoft Visual Basic або з вікна MS Excel. Після завантаження цього модуля отримаємо таблицю значень як на рис.11.1.
Проаналізуємо окремі інструкції цього модуля. За допомогою інструкції Range(«a1»).Value = 0 в комірку А1 вводиться число 0.
Щоб заповнити діапазон елементами прогресії (0,5;1;1,5…,10) використовується метод DataSeries ; він має параметри : RowCol визначає напрямок, в якому створюється прогресія , тобто вздовж стовпців (xlColumns); Type визначає тип прогресії, у цьому випадку xlDataSeriesLinear (лінійна, використовується за замовчуванням); Step визначає крок змінення прогресії (за замовчуванням дорівнює 1); Stop –граничне значення прогресії.
Наступна інструкція визначає поточний діапазон, в якому розташовані значення аргументів, для функції , значення якої обчислюються:
Dim rgn As Range
Set rgn = Range(“a1”).CurrentRegion,
де властивість
CurrentRegion-
повертає поточний
діапазон, тобто той діапазон, який
оточений будь-якою комбінацією порожніх
рядків і стовпців, а комірки цього
діапазону – не порожні.
Додамо до програми, так
званий, елемент керування, у вигляді
рядка керування (строки
ввода) для того,
щоб була можливість вводити будь-яке
початкове значення аргументу
,
а не тільки
:
Dim n As String
n = InputBox(«Введіть початкове значення аргументу функції»)
Debug.Print n
Після цього виправимо в попередньому фрагменті значення Range(«a1»).Value = n.
Рис. 11.1.
Таблиця значень функції
якщо


Після внесення цих змін,
програма прийме вигляд:
Sub demo()
Dim rgn As Range
Dim n As String
n = InputBox(«Введіть початкове значення аргументу функції»)
Debug.Print n
Range(«a1»).Value = n
Range(«a1»).DataSeries RowCol:=xlColumns, Type:=xlDataSeriesLinear, Step:=0.5, Stop:=10
Set rgn = Range(«a1»).CurrentRegion
Set rgn = rgn.Offset(0, 1)
Range(«b1»).Formula = «=y(a1)»
Range(«B1»).AutoFill Destination:=rgn, Type:=xlFillCopy
rgn.NumberFormat = «0.000»
End Sub
Додамо до програми фрагмент, який в комірки В1 і С1 поточного аркушу вводить поточну дату та прізвище, ім’я розробника цієї програми:
Dim t As Date
t = FormatDateTime(Now)
Range(«c1»).Value = t
Range(«d1»).Value = «Кравцова Ганна»
Кінцевий вигляд програми буде такий :
Sub demo()
Dim rgn As Range
Dim n As String
Dim t As Date
n = InputBox(«Введіть початкове значення аргументу функції»)
Debug.Print n
Range(«a1»).Value = n (3)
Range(«a1»).DataSeries RowCol:=xlColumns, Type:=xlDataSeriesLinear,
Step:=0.5, Stop:=10
Set rgn = Range(«a1»).CurrentRegion
Set rgn = rgn.Offset(0, 1)
Range(«b1»).Formula = «=y(a1)»
Range(«B1»).AutoFill Destination:=rgn, Type:=xlFillCopy
rgn.NumberFormat = «0.000»
t = FormatDateTime(Now)
Range(«c1»).Value = t
Range(«d1»).Value = «Кравцова Ганна»
End Sub
Створення
програм для розгалужених функцій.
Нехай тепер потрібно обчислити значення
розгалуженої функції:

Програма-функція матиме вигляд:
Function yy(x As Double) As Double
If x < 0 Then
yy = 1 / x
Else
yy = Sqr(x) (4)
End If
End Function
Програмний модуль, що виконує табулювання цієї функції буде мати вигляд:
Sub demo2()
Dim rgn As Range
Dim n, m, k As String
n = InputBox("Введіть початкове значення аргументу функції")
Debug.Print n
Range("a1").Value = n (5)
m = InputBox("Введіть кінцеве значення аргументу функції")
Debug.Print m
k = InputBox("Введіть значення приросту аргументу функції")
Debug.Print k
Range("a1").DataSeries RowCol:=xlColumns,Type:=xlDataSeriesLinear,
Step:=k, Stop:=m
Set rgn = Range("a1").CurrentRegion
Set rgn = rgn.Offset(0, 1)
Range("b1").Formula = "=yy(a1)"
Range("B1").AutoFill Destination:=rgn, Type:=xlFillCopy
rgn.NumberFormat = "0.000"
End Sub
Звернути увагу на те, що кінцеве значення аргументу функції та його приріст теж задаються через рядок введення!
Крім функцій, що були використані, в Excel, можна обчислювати ще й наступні:

