Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Основи офісного програмування



3.1. Опис структури програми і даних

Розробимо процедуру знаходження необхідних значень за допомогою мови програмування Visual Basic (далі – VBA).

Спочатку розробимо призначений для користувача інтерфейс.

Для задачі (1) він включає три командні кнопки. При натисканні на одну кнопку «Обчислити» буде запускатися процес обчислювання, другу – «Очистити» - будуть очищатися комірки зі змінними даними, іншу – «Дані за замовчуванням» - будуть вводитися в комірки дані, задані умовою задачі (x=2,5; х=7,5; y=1,7; z=13,2; n=2). Вставимо кнопки на лист MS Excel за допомогою інструмента «Кнопка» панелі управління Элементы управления та змінимо написи на них за допомогою властивості Caption.

Також засобами форматування необхідно виділити комірки, яким відповідають вихідні змінні та необхідні значення:

y = Cells(19, 5)

z = Cells(19, 6)

x = Cells(19, 4)

y = Cells(19, 7)

n = Cells(19, 3)

Для розширення випадків використання даної процедури введемо також змінну n, яка буде позначати кількість значень змінної х. Це дозволить знаходити значення F з будь-якою кількість вихідних даних.

Інтерфейс для обчислення задачі (2) включає в себе дві командні кнопки. При натисканні на одну кнопку «Обчислити» буде запускатися процес обчислювання, другу – «Очистити» - будуть очищатися комірки зі змінними.

Також засобами форматування необхідно виділити комірки, яким відповідають вихідні змінні та необхідні значення

x = Cells(32, 4)

z = Cells(32, 5)

3.2. Розрахунки в VBA

Наступним кроком введемо код процедури для кожної з кнопок задач (1) та (2).

Двічі клацнувши на командній кнопці, створимо код процедури обробки події – клацання на командній кнопці.

Задача (1)

Кнопка «Обчислити»

Private Sub CommandButton1_Click()

Dim x, y, z, f As Variant

Dim i, n As Integer

y = Cells(20, 5)

z = Cells(20, 6)

n = Cells(20, 3)

For i = 1 To n

x = Cells(19 + i, 4)

If x < y Then f = y ^ 2 + Sin(x) - z * Exp(-(x - 1) / 2)

If x > y Then f = Log(x - y) * Exp(x / 10)

If x = y Then f = "РН"

Cells(19 + i, 7) = f

Next i

End Sub

Кнопка «Очистити»

Private Sub CommandButton2_Click()

n = Cells(20, 3)

For i = 1 To n

Cells(19 + i, 7) = Clean

Cells(19 + i, 4) = Clean

Next i

Cells(20, 3) = Clean

End Sub

Кнопка «Дані за замовчуванням»

Private Sub CommandButton3_Click()

Cells(20, 3) = 2

Cells(20, 4) = 2.5

Cells(21, 4) = 7.5

Cells(20, 5) = 1.7

Cells(20, 6) = 13.2

End Sub

 

Для початку програми її необхідно оголосити, що виконується за допомогою оператора Private Sub.

Змінні x, y, z визначили як тип даних Variant, що дозволяє вводити дані будь-якого типу, адже за умовою задачі вони ніяк необмежені. Змінні i, n визначили як тип даних Integer, адже це повинні бути цілі числа.

За допомогою оператора Cells ми повертаємо дані з заданих комірок у обчислювальний процес.

Так як нам необхідно обрахувати значення F для кількох вихідних значень х, використаємо оператор циклу For…Next. Змінюватись буде адреса комірки зі значенням змінної х, тому до номера рядка комірки в електронній таблиці буде додаватися і від 1 до n, попередньо визначеного користувачем у відповідній комірці «Кількість значень Х», з кроком 1 за замовчуванням.

Тіло циклу задається умовним оператором If…Then однорядковою формою запису в три етапи (тому що задано три умови). Оператор діє наступним чином. Перевіряється умова в першому рядку, якщо вона істинна, то виконується оператор заданий після Then, в інакшому випадку програма переходить до перевірки умови наступного рядка, і так далі.

Обрахувавши значення, програма має вивести його у потрібну комірку. Це здійснюється за допомогою оператора Cells.

Після цього ми задаємо Next i, що означає перехід до наступного значення і, аж поки воно не досягне значення n.

На цьому програму можна закінчити, використовуючи оператор End Sub.

Результат бачимо, ввівши вихідні дані та натиснувши кнопку «Обчислити», у відповідних комірках F.

Для очищення вмісту деяких комірок скористаємось оператором Clean. Щоб очистити всі комірки, які приймали участь в попередньому обчислювальному процесі циклу, задаємо той же самий цикл. Тілом циклу тепер буде використання оператора Clean для необхідних клітинок. Після закінчення циклу очищуємо і комірку зі значенням n.

Для введення значень, заданих умовою задачі, за допомогою оператора cells введемо значення у відповідні комірки.

Задача (2)

Кнопка «Обчислити»

Private Sub CommandButton4_Click()

Dim x, z As Variant

x = Cells(33, 4)

z = Abs(x ^ 4 - 2.1 * x ^ 2) + 4 * Cos(x) * Sin(2 * x)

Cells(33, 5) = z

End Sub

Кнопка «Очистити»

Private Sub CommandButton5_Click()

Cells(33, 4) = Clean

Cells(33, 5) = Clean

End Sub

Для початку програми її необхідно оголосити, що виконується за допомогою оператора Private Sub.

Змінні x, z визначили як тип даних Variant, що дозволяє вводити дані будь-якого типу, адже за умовою задачі вони ніяк необмежені.

За допомогою оператора Cells ми повертаємо дані з заданих комірки у обчислювальний процес.

Для підрахунку значення Z привласнюємо змінній z необхідне значення, ввівши формулу мовою VBA.

Виводимо отримане значення у потрібну комірку оператором Cells. Закінчуємо програму оператором End Sub.

Кнопка очистити діє так само, як і відповідна кнопка задачі (1).

3.3. Створення функції користувача.

При багаторазовому виконанні однієї й тієї ж процедури чи функції, цей процес можна автоматизувати за допомогою Функції користувача. Створюється вона в стандартному модулі редактора VBA.

Задаємо процес виконання функції оператором Function. Наступним вказуємо ім’я функції. Далі необхідно визначити аргумент, вказавши його ім’я та тип даних. Наступним з нового рядка вказується тіло функції. Для задачі (1) це розгалужений процес, тому воно містить оператори умови If…Then. Для задачі (2) описуємо лінійний процес привласнення z потрібного значення за формулою. Після цього закінчуємо оператором End Function.

Функція користувача для задачі (1) буде мати такий вигляд

Function Палько1(arg As Double)

If arg < 1.7 Then Палько1= (1.7) ^ 2 + Sin(arg) - 13.2 * Exp(-((arg) - 1) / 2)

If arg > 1.7 Then Палько1= Log((arg) - 1.7) * Exp((arg) / 10)

If arg = 1.7 Then Палько1= "НЗ"

End Function

А для задачі (2) функція користувача буде мати такий вигляд

Function Палько2(arg As Double)

Палько2 = Abs((arg) ^ 4 - (21 / 10) * (arg) ^ 2) + 4 * Cos(arg) * Sin(2 * (arg))

End Function

 

Готову функцію користувача можна визвати в Мастері функцій в категорії «Определённые пользователем». Для її реалізації далі варто лише обрати значення аргументу.

 

 


Висновки

 

В ході даної розрахункової роботи було виконано автоматизацію обчислювальних процесів – лінійного та розгалуженого - засобами MS Excel та VBA. Поставлені задачі були обчислені за допомогою функцій MS Excel (логічні та математичні), елементів управління VBA (командні кнопки), засобів створення функцій користувача.

Виконані різні способи обчислення однієї тієї ж задачі ілюструють можливості застосування в економічній діяльності як окремо MS Excel та VBA, так і поєднання їх можливостей.

Дійсно, дане програмне забезпечення дозволяє спрощувати дії, які виконуються багаторазово. Перевагою такого типу програмування є те, що воно дозволяє створювати зручний інтерфейс відносно легко, й тому є доступним для не спеціалістів з програмування, тобто для економістів.

Зручність редактора VBA полягає ще й в тому, що він вбудований в велику кількість програм, включаючи всі додатки MS Office.

 


 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.