Основи офісного программування. Об’єктно-орієнтоване програмування у Visual Basic for Application: Методичні вказівки до лабораторного заняття № 7, страница 2

Завантажте додаток Excel. На листі „Лист1” згідно рис. 2 наберіть елементи матриць що множуться та наведений текст. Перші елементи N матриць означають номер компютера. Збережіть документ (книгу) з імям ЛБР7Прізвище у своїй папці.

 

Рис. 2. Лист Excel з початковимі данимі.Завдання 5. Створення коду об’єктно-орієнтованої програми

З додатку Excel відкрийте вікно інтегрованого середовища розробки додатків редактора Visual Basic командою Сервис►Макрос► Редактор Visual Basic або натиском комбінації клавіш Alt+F11. Перейдіть у вікно коду програми і уведіть наступний код рішення задачі.

Option Explicit 'Обовязковий опис змінних

Private Sub Object_VBA() 'Об'єктно-ориєнтована процедура множення матриць

'Опис констант, що задають розміри матриц і кількість виконань кожного циклу

Const Ki = 5 'Кількість рядків матриці М1

Const Kj = 3 'Кількість стовпців матриці М1, а також рядків матриці М2

Const Kk = 4 'Кількість стовпців матриці М2

Dim i, j, K As Integer

Dim M1, M2, M3, S As Range 'Опис об'єктних змінних як об'єктів Range

'Встановлення зв'язку об'єктних змінних з діапазонами осередків

Set M1 = Worksheets("Лист1").Range("A1:C5")

Set M2 = Worksheets("Лист1").Range("G1:J3")

Set M3 = Worksheets("Лист1").Range("M1:P5")

'Обчислювання по функції Sum з додатку Excel суми елементів М1

 Worksheets("Лист1").Range("A11").Formula = "=SUM(A1:C5)"

 'Використання функції MMult з додатку Excel для множення матриць (для контролю)

 Worksheets("Лист1").Range("M7:P11").Formula = Application.MMult(Range("A1:C5"), Range("G1:J3"))

 'Використання функції Transpose з додатку Excel для одержання транспонірованої матриці

 Worksheets("Лист1").Range("M13:Q16").Formula = Application.Transpose(Range("M7:P11"))

Set S = Worksheets("Лист1").Range("F11") 'Встановлення зв'язку об'єктної змінної S з  осередком

S = 0 'Початкове значення осередку S для накопичення суми

For i = 1 To Ki 'Зовнішній цикл по кількості рядків матриці М1

For K = 1 To Kk 'Внутрішній цикл 1 по кількості стовпців матриці М2

For j = 1 To Kj 'Внутрішній цикл 2 по кількості стовпців М1 і рядків М2

'Обчислювання елементу (i,k) матриці М3 за правилом множення матриць

 S = S + Worksheets("Лист1").Cells(i, j).Value * _

 Worksheets("Лист1").Cells(j, 6 + K).Value

Next j

'Присвоення матриці М3 обчисленого елементу

 Worksheets("Лист1").Cells(i, 12 + K).Value = S.Value

'Очищення осередку S для накопичення нової суми, що визначає наступний елемент М3

 S = 0

Next K

Next i

End Sub

Завдання 6. Запуск програми в роботу та одерження результатів у середовищі Excel

 Збережіть проект, натиснувши на кнопку з дискетою, та запустіть програму в роботу. Перейдіть до додатку Excel ЛБР7Прізвище,„ Лист1”, прогляньте отримані результати та збережіть їх.

Завдання 7. Підготовка матеріалів для звіту

Підготуйте для звіту у надрукованому вигляді наступні матеріали по результатах виконання лабораторного заняття: алгоритм рішення задачі, код програми, лист Excel „ Лист1” з усіма наведенимі даними, де обовязково мають бути отримані результати.