Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VBA лаб .doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.02 Mб
Скачать

Лабораторна робота №4 Обмін даними між процедурою користувача, робочим листом і користувачем

Мета роботи: 1. З'ясувати поняття «Виведення процедури» і «Введені дані»;

2. Вивчити діалогові вікна для обміну повідомленнями (інструкція MsgBox) і введення даних (функція InputBox())

3. Вивчити об'єкт Range і метод Cell, що забезпечують доступ до окремих елементів таблиці

Загальні відомості

Виведення повідомлень користувачеві. Повідомлення, які процедура виводить на екран або посилає на принтер або записує у файл на диску, називається виведенням процедури. Простим способом виведення на екран є інструкція MsgBox. Інструкція MsgBox — це як би вбудована в мову VBA процедура. Рядок в процедурі, в якій міститься слово MsgBox, викликає цю вбудовану процедуру. Приведемо приклад процедури, з якою зазвичай починається вивчення VBA

Текст в лапках після імені процедури — це текст того повідомлення, яке ви хочете вивести на екран. Лапки обов'язкові, оскільки це говорить VBA про те, що це аргумент процедури, а не інструкція, що підлягає виконанню. Після запуску процедури (Натиснення команди Run) на робочому листі з'явиться діалогове віконце наступного вигляду:

З а умовчанням в заголовку вікна виводиться ім'я того застосування, яке запускає процедуру, в нашому випадку це Excel. Можна змінити заголовок вікна. Для цього потрібно використовувати інструкцію MsgBox наступного вигляду:

І нструкція MsgBox виглядає тепер трохи інакше, хоч і служить тій же самій меті: виводить на екран повідомлення для користувача. Інструкція містить три аргументи, кожен відокремлений від сусідніх комами. Перший аргумент — це текст повідомлення, що виводиться у вікні; Другий аргумент — в списку необов'язкових. Він називається Buttons, служить для того, щоб вказати, скільки і які кнопки повинні бути присутніми у вікні повідомлень. Якщо ви опустите аргумент Buttons, вікно повідомлень міститиме тільки одну кнопку — кнопку ОК. Третій аргумент указує заголовок вікна.

Введення даних користувача в процедуру. Дані, що утримуються від користувача, називаються введеними даними, або просто введенням. Для отримання даних від користувача застосовується функція InputBox. Функція InputBox виводить на екран вікно з текстом-підказкою, що пропонує ввести деяке значення, і полем введення для цього значення. Крім того, у вікні функції InputBox присутні кнопки ОК і Cancel. Перед викликом функції InputBox потрібно сформувати текст запрошення. Крім того, можна задати заголовок вікна, який буде виведений в рядку заголовка вікна InputBox. Синтаксис виклику функції InputBox наступний:

Строка= InputBox(запрошення[,Заголовок])

де:

  • рядок — це будь-яка змінна, в якій може зберігатися текстовий рядок; може мати тип String або Variant;

  • запрошення — пойменована або непойменована константа або змінна, що містить текст. Це обов'язковий аргумент;

  • Заголовок — це необов'язковий другий аргумент функції InputBox. Якщо ви опустите цей аргумент у виклику функції, в заголовку буде виведений рядок Microsoft Excel.

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

2. Результат функції InputBox - це завжди рядок. Введення користувача перетвориться в число за допомогою вбудованої функції Val

Завдання 1. Створіть процедуру користувача, яка передбачає введення вашого імені за допомогою функції InputBox і виведення вітання вам з допомогою інструкція MsgBox

Порядок дій:

  1. Відкрийте VB-редактор (натиснувши клавіші Alt+F11);

  2. У вікні Project відзначте проект, до якого ви хочете додати модуль;

  3. Виберіть в меню Insert_Module (або клацніть по кнопці Insert панелі інструментів). VB створить новий модуль і відкриє вікно Code;

  4. Створивши новий модуль, потрібно дати йому змістовне ім'я.

Для перейменування модуля виконайте наступні дії:

  • У VB-редакторові відзначте модуль, який ви хочете перейменувати;

  • У вікні Properties відображений єдиний модуль, який має тільки одну властивість — своє ім'я;

  • У текстовому полі Name введіть нове ім'я для модуля. У нашому випадкуДиалоговыеОкна. Як тільки курсор покине це текстове поле, модуль буде перейменований.

    1. У вікні Code наберіть наступну процедуру:

  1. Запустите процедуру на виконання, клацнувши по команді Run.

Завдання 2. Змініть функцію InputBox, як показано на листенгу і проаналізуйте, в чому відмінність їх роботи:

Завдання 3. У тому ж модулі створіть нову процедуру. Для цього:

  1. досить написати заголовок процедури і натиснути клавішу Enter. Нова процедура буде відокремлена від попередньою горизонтальною лінією, з'явиться команда кінця процедури і вам необхідно ввести тіло процедури.

  1. Проаналізуйте кожен рядок програми і визначте її призначення;

  2. Спробуйте визначити результати роботи процедури;

  3. Запустите програму на виконання.

Доступ до осередків робочого листа. Окремі елементи таблиці доступні через об'єкт Range і метод Cell.

Range — це один з об'єктів Excel, що забезпечує роботу з прямокутною областю осередків, у якості аргументів якої використовується одна або два посилання на елементи таблиці в стилю А1:

Range(“A2”;“G10”)

Range(“f4”)

Або на блок осередків по їх імені:

Range(“A10”;“F12”).value=10

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

Range(“D15”).value=“Test”

привласнення осередку значення “Test”

Range(“Criteria”).ClearCotents

Очищення вмісту іменованого блоку середків

Тут використовувалася властивість об'єкту Value — реальне значення, що показується в осередку і метод Clear, — видаляє дані, що містяться в об'єкті.

Завдання 4. Створіть процедуру наступного вигляду:

  1. У осередок А1 занесіть будь-яке число;

  2. Запустіть програму на виконання;

  3. Поверніться в робочий лист і проаналізуйте результати роботи вашої процедури

Cell — це метод, який повертає об'єкт Range, у якості аргументу указується два цілі числа, що визначають місцеположення окремого елементу таблиці — Cell(число1;число2). Причому перше число вказує на рядок, друге — на стовпчик.

Cell(1,2). Value=5

Привласнює осередку В1 значення 5

Cell(2,1).Formula=“=sum(B1:B5)”

Записує в осередок А2 формулу підсумовування значень в осередках В1:В5

Завдання 5.Створіть процедуру наступного вигляду:

  1. У стовпець А, починаючи з осередку А1, введіть будь-які числа;

  2. Запустите програму на виконання;

  3. Поверніться в робочий лист і проаналізуйте результати роботи вашої процедури

Завдання 6. Створіть процедуру з вибором з лабораторної роботи 3. Введення організовуйте за допомогою функції InputBox, а виведення — об'єкту Range або інструкції MsgBox

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]