Пользовательская форма и диапазоны Excel VBA - простые макросы Excel

Содержание

Вы можете использовать RefEdit элемент управления в Excel VBA чтобы получить диапазон от пользователя. В Пользовательская форма мы собираемся создать цвета с минимальным значением диапазон хранится в элементе управления RefEdit.

Чтобы создать эту пользовательскую форму, выполните следующие шаги.

1. Откройте редактор Visual Basic. Если обозреватель проекта не отображается, щелкните «Просмотр», «Обозреватель проекта».

2. Щелкните Вставить, Пользовательская форма. Если панель инструментов не появляется автоматически, щелкните «Просмотр», «Панель инструментов». Ваш экран должен быть настроен, как показано ниже.

3. Добавьте метку, элементы управления RefEdit и командные кнопки. Как только это будет выполнено, результат должен соответствовать изображению пользовательской формы, показанному ранее. Например, создайте элемент управления RefEdit, щелкнув RefEdit на панели инструментов. Затем вы можете перетащить элемент управления RefEdit в пользовательскую форму.

Примечание. Если в вашем наборе инструментов нет элемента управления RefEdit, установите ссылку на элемент управления RefEdit. Щелкните Инструменты, Ссылки и установите флажок Ref Edit Control.

4. Вы можете изменить имена и заголовки элементов управления. Имена используются в коде Excel VBA. Подписи - это те, которые появляются на вашем экране. Рекомендуется изменять имена элементов управления, но в этом нет необходимости, потому что в этом примере у нас есть только несколько элементов управления. Чтобы изменить заголовок пользовательской формы, метки и командных кнопок, щелкните «Вид», «Окно свойств» и щелкните каждый элемент управления.

5. Чтобы отобразить пользовательскую форму, поместите кнопку на листе и добавьте следующую строку кода:

Частная подпрограмма CommandButton1_Click ()
UserForm1.Show
Конец подписки

Теперь мы собираемся создать Sub UserForm_Initialize. Когда вы используете метод Show для пользовательской формы, эта подпрограмма будет выполнена автоматически.

6. Откройте редактор Visual Basic.

7. В проводнике проекта щелкните правой кнопкой мыши UserForm1 и выберите команду Просмотреть код.

8. Выберите Userform в левом раскрывающемся списке. В правом раскрывающемся списке выберите «Инициализировать».

9. Добавьте следующие строки кода:

Частная подписка UserForm_Initialize ()
Sheet1.Cells.Font.Color = vbBlack
UserForm1.RefEdit1.Text = Selection.Address
Конец подписки

Объяснение: первая строка кода изменяет цвет шрифта всех ячеек на листе 1 на черный. Вторая строка кода получает адрес текущего выделения и отображает его в элементе управления RefEdit.

Мы создали первую часть пользовательской формы. Хотя это и так выглядит аккуратно, пока мы нажимаем кнопки команд в пользовательской форме, ничего не произойдет.

10. В проводнике проекта дважды щелкните UserForm1.

11. Дважды щелкните кнопку Go.

12. Добавьте следующие строки кода:

Частная подпрограмма CommandButton1_Click ()
Dim addr As String, rng, cell As Range, минимум As Double
addr = RefEdit1.Value
Установить rng = Диапазон (адрес)
минимум = WorksheetFunction.Min (rng)
Для каждой ячейки In rng
Если cell.Value = minimum, то cell.Font.Color = vbRed
Следующая ячейка
Конец подписки

Пояснение: сначала мы получаем адрес из элемента управления RefEdit и сохраняем его в строковой переменной addr. Затем мы устанавливаем rng в диапазон, указанный в элементе управления RefEdit. Затем мы используем функцию рабочего листа Min, чтобы найти минимальное значение в диапазоне. Наконец, мы раскрашиваем минимальное значение (я) с помощью цикла.

13. Дважды щелкните кнопку «Отмена».

14. Добавьте следующую строку кода:

Частная подпрограмма CommandButton2_Click ()
Разгрузить меня
Конец подписки

Объяснение: эта строка кода закрывает пользовательскую форму, когда вы нажимаете кнопку «Отмена».

15. Протестируйте пользовательскую форму.

Результат:

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

wave wave wave wave wave