Как поставить значение по умолчанию в ComboBox? — КиберПедия 

Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...

Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...

Как поставить значение по умолчанию в ComboBox?

2020-12-08 145
Как поставить значение по умолчанию в ComboBox? 0.00 из 5.00 0 оценок
Заказать работу

Если нам необходимо по умолчанию поставить какого-то сотрудника, например Василий, то в коде инициализации формы необходимо добавить ещё одну строку.

   Private Sub UserForm_Initialize()   Dim Imena As String   Dim a As Byte    For a = 2 To 9 Step 1       Imena = Cells(a, 1)       Sotrudniki.AddItem Imena   Next a   Sotrudniki.ListIndex = 0 'отвечает за выбор сотрудника   End Sub

Обратите внимание, что номерация списка в ComboBox начинается с 0. То-есть если нам по умолчанию надо будет прописать Екатерину, то.

   Sotrudniki.ListIndex = 1

Запрет ввода данных в ComboBox

Теперь необходимо доработать ещё один момент - это запрет ввода данных в ComboBox Вручную.
Добавим в код инициализации формы ещё одну строчку, которая будет запрещать вносиьт изменеия в выпадающем списке.

   Private Sub UserForm_Initialize()   Dim Imena As String   Dim a As Byte    For a = 2 To 9 Step 1       Imena = Cells(a, 1)       Sotrudniki.AddItem Imena   Next a   Sotrudniki.ListIndex = 0 'Отвечает за выбор сотрудника   Sotrudniki.Style = fmStyleDropDownList 'Запрет ввода данных   End Sub

Sotrudniki.Style = fmStyleDropDownList - именно эта надпись позволяет запретить ввод данных в ComboBox.

Ну вот, теперь мы можем создать свой собственный выпадающий список, обработать выбранные данные и поставить запрет на ввод данных в ComboBox.


 

Ускоряем работу макроса в Excel

Чем больше познаём мы макросы, тем интересней выгледят наши программы. А бывает, что их выполнение происходит очень долго, при сложных и долгих математических расчётах или составлении каких-то отчётов и табилц. В ходе выполнения макроса на мониторе происходит мелькание различных окон, открытие и закрытие книг, и прочая светомузыка. Для того чтобы этого не происходило, и чтобы время выполнение нашего макроса сократить раз в 100, можно воспользоваться командами описанные ниже.

Application.ScreenUpdating

Application.ScreenUpdating - отвечает за обновление экрана и может принимать два значения - False (обновление экрана отключено) и True (обновление экрана включено). В коде это обычно прописывается в том месете, где происходит мелькание различных окон или видно как производится расчёт и происходит заполнение таблицы. Ниже показан пример заполнения ячеек, и данную команду вставили в начало и конец макроса, т.е. сначала отключаем обновление экрана, а потом включаем обновление экрана. При такой записи мы не увидим процесс заполнения ячеек. А вот если убрать эти команды, то мы сможем наблюдать за процессом заполнения этих ячеек.

   Sub Primer()   Application.ScreenUpdating = False   For a = 1 To 100       For b = 1 To 100           Cells(a, b) = "Пример"       Next b   Next a   Application.ScreenUpdating = True   End Sub

Application.Calculation

Application.Calculation - отвечает за автоматический расчёт в книге Excel и может принимать два значения - xlCalculationManual (ручной расчёт) и xlCalculationAutomatic (автоматический расчёт - по умолчанию установлен в Excel). Но тут есть одна осторожность, если вы перевели Excel в ручной расчёт, и в макросе произошла ошибка и он так и не выполнился до конца - т.е. не включился автоматический расчёт формул, то все ваши вычисления в дальнейшем будут в пустую. Так как формулы не будут автоматически пересчитываться, Excel превратиться в обычную таблицу. Но данная команда играет одну из основных ролей в быстроте выполнеия макроса. Вообщем лучше сделать код, который исключает ошибки, чтобы макрос полюбому выполнился и Excel перевёлся в автоматический расчёт. Если у Вас имеется большая таблица с многочисленными формулами, и часть вычислений вы производите при помощи макросов, то для быстроты выполнения расчётов разумно в начало и конец кода поместить команду Application.Calculation.

   Sub Primer2()   Application.Calculation = xlCalculationManual      ...................      ...................      ...................   Application.Calculation = xlCalculationAutomatic   End Sub

Application.EnableEvents

Application.EnableEvents - команда отвечающая за выполнение сторонних событий. Эту команду мы уже затрагивали в этом уроке. И она также может принимать два значения - это False (отключить собтие) и True (включить выполнение промежуточных событий). Но теперь ещё известно, что она играет значительную роль в скорости выполнения некоторых кодов макроса. Пример можно взять из Урока №23.

   Private Sub Worksheet_Change(ByVal Target As Range)       Application.EnableEvents = False           Target.Cells = "Привет"       Application.EnableEvents = True   End Sub

Поделиться с друзьями:

Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...

Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим...

Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...

Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.01 с.