Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...
Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...
Топ:
Методика измерений сопротивления растеканию тока анодного заземления: Анодный заземлитель (анод) – проводник, погруженный в электролитическую среду (грунт, раствор электролита) и подключенный к положительному...
Марксистская теория происхождения государства: По мнению Маркса и Энгельса, в основе развития общества, происходящих в нем изменений лежит...
Эволюция кровеносной системы позвоночных животных: Биологическая эволюция – необратимый процесс исторического развития живой природы...
Интересное:
Лечение прогрессирующих форм рака: Одним из наиболее важных достижений экспериментальной химиотерапии опухолей, начатой в 60-х и реализованной в 70-х годах, является...
Наиболее распространенные виды рака: Раковая опухоль — это самостоятельное новообразование, которое может возникнуть и от повышенного давления...
Национальное богатство страны и его составляющие: для оценки элементов национального богатства используются...
Дисциплины:
2020-12-08 | 149 |
5.00
из
|
Заказать работу |
Если нам необходимо по умолчанию поставить какого-то сотрудника, например Василий, то в коде инициализации формы необходимо добавить ещё одну строку.
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 Вручную.
Добавим в код инициализации формы ещё одну строчку, которая будет запрещать вносиьт изменеия в выпадающем списке.
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 SubApplication.Calculation
Application.Calculation - отвечает за автоматический расчёт в книге Excel и может принимать два значения - xlCalculationManual (ручной расчёт) и xlCalculationAutomatic (автоматический расчёт - по умолчанию установлен в Excel). Но тут есть одна осторожность, если вы перевели Excel в ручной расчёт, и в макросе произошла ошибка и он так и не выполнился до конца - т.е. не включился автоматический расчёт формул, то все ваши вычисления в дальнейшем будут в пустую. Так как формулы не будут автоматически пересчитываться, Excel превратиться в обычную таблицу. Но данная команда играет одну из основных ролей в быстроте выполнеия макроса. Вообщем лучше сделать код, который исключает ошибки, чтобы макрос полюбому выполнился и Excel перевёлся в автоматический расчёт. Если у Вас имеется большая таблица с многочисленными формулами, и часть вычислений вы производите при помощи макросов, то для быстроты выполнения расчётов разумно в начало и конец кода поместить команду Application.Calculation.
Sub Primer2() Application.Calculation = xlCalculationManual ................... ................... ................... Application.Calculation = xlCalculationAutomatic End SubApplication.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 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!