VBA InputBox - Отримати введення даних від користувача в макросі - Приклади коду VBA

У цьому посібнику буде показано, як отримати вхідні дані від користувача за допомогою поля введення VBA.

The Коробка введення VBA дозволяє нам запропонувати користувачеві ввести інформацію. Потім цю інформацію можна використовувати у нашому коді VBA або на робочому аркуші Excel.

Коробка введення VBA зі змінною

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

Залежно від типу інформації, яку ми хочемо повернути з поля введення, ми можемо оголосити певний тип змінної або для повернення тексту (змінна рядка або варіанта), або для повернення числа (ціле число, довга, подвійна або одинична змінна).

Змінна рядка з полем введення

Ось як можна створити InputBox, де дані повертаються у рядкову змінну.

123 Dim strInput як StringstrInput = InputBox ("Це мій InputBox", "MyInputTitle", "Введіть текст введення ТУТ")

Зверніть увагу, спочатку ми оголошуємо змінну. Цій змінній буде призначено значення, яке вводить користувач. Ми використовували змінний тип String, щоб поле введення приймало текстові рядки (які включають будь -які буквено -цифрові символи).

Змінна числа з полем введення

Якщо ви оголошуєте числову змінну, вам потрібно буде ввести число лише у поле введення.

12 Dim iInput As IntegeriInput = InputBox ("Будь ласка, введіть номер", "Створити номер рахунка -фактури", 1)

Спочатку ми оголошуємо змінну числа цілочисельною змінною. Тоді ми також можемо поставити значення 1 за замовчуванням у поле введення.

Якби ми ввели рядок замість числа, а потім натиснули «ОК», ми отримали б помилку невідповідності типу, оскільки змінна числа не сприймає рядок.

Отримати вхідні дані від користувача

Ось ще один приклад використання найпопулярніших функцій InputBox.

Наступний код робить три речі:

1. Запрошує ввести дані за допомогою InputBox і призначає його змінній

2. Перевіряє вхідні дані, інакше виходить із підрозділу

3. Повертає введені дані у вікні повідомлення

12345678910111213 Публічний суб MyInputBox ()Затемнити MyInput як рядокMyInput = InputBox ("Це мій InputBox", "MyInputTitle", "Введіть текст введення ТУТ")Якщо MyInput = "Введіть текст введення ТУТ" або MyInput = "" ТодіВийти з підпЗакінчити ЯкщоMsgBox "Текст із MyInputBox - це" & MyInputEnd Sub

Повернення введених даних до аркуша Excel

Ви можете повернути введені дані у поле введення у певну клітинку на аркуші Excel.

1 Діапазон ("P1") = InputBox ("Будь ласка, введіть своє ім'я", "Введіть ім'я", "Введіть ім'я ТУТ")

Ми також можемо повернути вхідні дані до таблиці Excel за допомогою змінної.

12345678910 Sub EnterNumber ()Увімкнути Помилка Відновити ДаліDim dblAmount As DoubledblAmount = InputBox ("Будь ласка, введіть необхідну суму", "Введіть суму")Якщо dblAmount 0 ТодіДіапазон ("A1") = dblAmountІнакшеMsgBox "Ви не ввели номер!"Закінчити ЯкщоEnd Sub

У наведеному вище прикладі нам потрібно ввести число. Якщо ми введемо число, то змінна dblAmount розмістить номер на аркуші Excel у комірці А1. Однак, якщо ми не вводимо число, то у вікні повідомлення буде повідомлено, що ми не ввели номер і нічого не буде введено в клітинку А1.

Використання VBA InputBox у Access VBA

Поле введення VBA працює точно так само в Access, як і в Excel, коли повертається введення користувача у вигляді вікна повідомлення.

Однак, якщо ви хочете повернути введення даних користувача до бази даних, вам потрібно буде використовувати об’єкт Recordset, а не об’єкт Range, як використовується в Excel.

1234567891011121314 Sub EnterInvoiceNumber ()Dim dbs як база данихDim rst як записВстановити dbs = CurrentDbВстановити rst = dbs.OpenRecordset ("tblMatters", dbOpenDynaset)З першим.Додати новий! InvNo = InputBox ("Будь ласка, введіть номер рахунка -фактури", "ГЕНЕРАЦІЯ НОМЕРА РАХУНОК", 1).ОновитиЗакінчити зПерший. ЗакритиВстановити rst = нічогоВстановити dbs = нічогоEnd Sub

Ви допоможете розвитку сайту, поділившись сторінкою з друзями

wave wave wave wave wave