Извършване на процедури в VBA

По-рано, със стартирането на процедури от "макроси", ние вече сме срещнали. Както е добре, ние сме назначени нашите процедури клавишни комбинации. Сега нека да поговорим за няколко начина да започнат в процедурите на VBA.

Извършване на процедури за персонализирано меню Excel

Така, например, ние трябва да се изпълнява една проста процедура, която се връща: Потребителското име и текущото време и дата на компютъра в съобщението. процесуален кодекс:

Под GetUserDate ()
Дим съобщ Както стринга
съобщ = "Потребител" Environ ( "потребителско име") Chr (13) _
"В текущата дата и час" сега
"Environ (" потребителско име ") връща текущата потребителско име
"Сега - връща датата и часа на компютъра
MsgBox съобщ
End Sub

Извършване на процедури в VBA

Забележка. Когато отворите "Настройки", можете да промените всяка точка от менюто като панели, както и падащи менюта.

2. Drag и метод капка Drag Капка от "екипа", елемент от който се нарича "Custom меню команда" в долната част на менюто "Данни", което я поставя след елемента "Обновяване на данните".

Извършване на процедури в VBA

3. Щракнете с десния бутон върху новата опция в менюто "Custom меню команда" и в контекстното меню в полето Име въведете името на точка от менюто на "потребителско име и датата"

Извършване на процедури в VBA

4. Сега само трябва да се свържете с процедурата ни (макро), с тази позиция. За да направите това, настройките за бърз достъп от менюто елемент "Custom командата на менюто" на т.е. има "потребителско име и дата", изберете елемента "Assign Macro" и изберете нашия процес от списъка:

Извършване на процедури в VBA

All. Щракнете върху OK и затворете прозореца "Настройки". Тестване, меню на данни - име на потребителя, както и датата, получавам съобщение:

Извършване на процедури в VBA

Извършване на процедурата от друга процедура

Най-често срещаният начин повикването (изпълнява) процедурата е процедура обаждане от друга процедура. Има три начина да го направите:

Нека разгледаме всеки метод в примерите. За да направите това, да създадете модул с процедура, създадена по-рано GetUserDate, наричайки процедура CallProc.

Под CallProc ()
GetUserDate
End Sub

Дим SubToCall Като променлива String "съдържа името на процедурата,

Изберете дело Делничен ден (Сега, vbMonday)
Случай 1 до 5: SubToCall = "работа"
Случай 6 до 7: SubToCall = "почивка"
Край Изберете

Обърнете внимание на името на процедурата, наречена се присвоява на променливата SubToCall на низ като ред с обикновен текст. Делничен функция определя текущата дата (което се връща към вградения сега) ден от седмицата, който се проверява в дело за избор (работа с дело прочетете тук) и в съответствие с връщане ден от седмицата задава променлива SubToCall низ, съдържащ името на процедурата, която трябва да бъде причини. В непосредствена близост до Application.Run SubToCall премине като аргумент. Искам да обърна внимание на функцията Делничен ден - функцията е все още втори незадължителен параметър, който определя кои дни от седмицата, за да вкара дни. По подразбиране, сметката е неделя, така че vbMonday постоянна. в нашия пример, функцията показва, че този, който искате да започне в понеделник.

Процедура обаждане от друг модул

Искам да отбележа, че големи проекти могат да съдържат повече от една дузина световни процедури, функции, променливи, които са достъпни от различни модули, както и да направят живота по-лесен, за себе си и другите, винаги трябва да бъде пълния път до процедурата, дори и ако тази процедура има уникално име ,

Е, това е всичко. Следната статия вземете един от начините е да се обадите на процедури от други книги. И все пак - все още!