300 Примеров

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

Userform Ranges

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





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

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





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

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



Настройка экрана пользовательской формы в Excel VBA

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

excel рассчитать часы между двумя значениями после полуночи

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

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

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

Частный SubCommandButton1_Click ()

UserForm1.Show

Конец Sub

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

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

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

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

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

Частный SubUserForm_Initialize ()

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

Конец Sub

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

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

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

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

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

Частный SubCommandButton1_Click ()

НиктоадресВ качестве Нить, rng, ячейкаВ качествеДальность, минимумВ качестве Двойной

addr = RefEdit1.Value
Установленныйrng = Диапазон (адрес)
минимум = WorksheetFunction.Min (rng)

Для КаждыйклеткаВrng
Еслиcell.Value = минимумпотомcell.Font.Color = vbRed
Следующийклетка

Конец Sub

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

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

как рассчитать старение в Excel

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

Частный SubCommandButton2_Click ()

Разгрузить меня

Конец Sub

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

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

Результат:

Результат пользователя формы и диапазонов

2/11 Завершено! Узнать больше о пользовательских формах>
Перейти к следующей главе: Диапазон



^