/ / Excel VBA User Form і діапазони

Excel VBA формат і діапазони

Ви можете використовувати a RefEdit контроль в Excel VBA щоб отримати діапазон від користувача. The Userform ми збираємося створити кольори мінімальне значення діапазон зберігається в контрольній системі RefEdit.

Userform і діапазони в Excel VBA

Щоб створити цю Userform, виконайте наступні кроки.

1. Відкрийте редактор Visual Basic. Якщо Провідник проекту не відображається, натисніть Переглянути, Провідник проекту.

2. Клацніть Insert, Userform. Якщо панель інструментів не відображається автоматично, натисніть Переглянути, Панель інструментів. Ваш екран повинен бути налаштований як показано нижче.

Налаштування екрана Userform у програмі Excel VBA

3. Додайте мітки, контрольні та командні кнопки RefEdit. Після того, як це буде завершено, результат має відповідати картині формату Userform, показаному раніше. Наприклад, створіть елемент керування RefEdit, натиснувши RefEdit з панелі інструментів. Далі ви можете перетягнути елемент керування RefEdit у Userform.

Примітка. Якщо у вашій панелі інструментів немає елемента керування RefEdit, встановіть посилання на елемент керування RefEdit. Клацніть Інструменти, посилання та перевірте Редагування елементів керування.

4 Ви можете змінювати імена та підписи елементів керування. Імена використовуються в коді Excel VBA. Підписи - це ті, які з'являються на вашому екрані. Рекомендовано змінити назви елементів керування, але тут немає необхідності, оскільки в цьому прикладі ми маємо лише декілька елементів керування. Щоб змінити заголовок кнопок Userform, label і command, клацніть View, Properties Window і клацніть по кожному елементу керування.

5. Щоб показати Userform, помістіть на вашій робочій клавіші команду та додайте наступну кодову рядок:

Private Sub CommandButton1_Click()

UserForm1.Show

End Sub

Ми збираємось створити Sub UserForm_Initialize. Якщо ви використовуєте метод Show для форми Userform, цей підрозділ буде автоматично виконано.

6. Відкрийте редактор Visual Basic.

7. У Провіднику проекту клацніть правою кнопкою миші на UserForm1 і натисніть кнопку Перегляд коду.

8. Оберіть Userform з розкривного списку ліворуч. У спадному списку праворуч виберіть «Ініціалізувати».

9. Додайте наступні кодові рядки:

Private Sub UserForm_Initialize()

Sheet1.Cells.Font.Color = vbBlack
UserForm1.RefEdit1.Text = Selection.Address

End Sub

Пояснення: перша кодова рядок змінює колір шрифту всіх комірок на sheet1 на чорний. Друга кодова рядок отримує адресу поточного виділення і відображає її в контрольній системі RefEdit.

Тепер ми створили першу частину Userform. Хоча це виглядає вже акуратно, ще нічого не станеться, коли ми натискаємо кнопки команд у Userform.

10. У Провіднику проекту двічі клацніть на UserForm1.

11. Двічі клацніть на кнопці Перейти.

12. Додайте наступні кодові рядки:

Private Sub CommandButton1_Click()

Dim addr As String, rng, cell As Range, minimum As Double

addr = RefEdit1.Value
Set rng = Range(addr)
minimum = WorksheetFunction.Min(rng)

For Each cell In rng
    If cell.Value = minimum Then cell.Font.Color = vbRed
Next cell

End Sub

Пояснення: По-перше, ми отримуємо адресу від контрольної функції RefEdit і зберігаємо її у змінній String addr. Далі ми встановлюємо rng ​​у діапазоні, зазначеному в контролі RefEdit. Далі ми використовуємо функцію робочого листа Min, щоб знайти мінімальне значення в діапазоні. Нарешті, ми коліруємо мінімальне значення, використовуючи цикл.

13. Двічі клацніть на кнопку Скасувати.

14. Додайте наступну кодову лінію:

Private Sub CommandButton2_Click()

Unload Me

End Sub

Пояснення: ця кодова лінія закриває Userform, коли ви натискаєте кнопку "Скасувати".

15. Перевірте Userform.

Результат:

Результати Userform і діапазонів

Також читайте: