Съдържание
Visual Basic за приложения (VBA), както и другите версии на Visual Basic и повечето програмни езици, предлага възможност за разделяне на кода на малки, независими части. Това оставя програмата по-малко тромава за четене, писане и тестване поради индивидуалното естество на по-малките устройства. Те също могат да се използват повторно, така че вместо да пишат същия кодов фрагмент всеки път, когато програмата трябва да изпълни дадена задача, програмистът може просто да извика функцията няколко пъти. Това е само една от функциите, която прави VBA, и Visual Basic, структуриран език за програмиране.
Добра практика е да се раздели кода (Stockbyte / Stockbyte / Getty Images)
Функции срещу подпрограми
В повечето езици части от кода се наричат функция. В VBA те са разделени на два различни типа: функции и подпрограми. И двата вида се появяват и работят по подобен начин, но с две забележителни разлики. Първо, функцията се декларира с "Function" в дефиницията на кода и завършва с "End Function". Подпрограмата се декларира с "Sub" и завършва с "End Sub". Второ, функцията връща стойност, докато подпрограмата не го прави. За да върнете стойност в Excel VBA, трябва да използвате функция.
Кога трябва да върна стойност?
Една добре написана програма използва функции и подпрограми, за да инкапсулира данните и да ги предпази от промените, направени в други части на кода. Това, заедно с улесняването на разбирането, са основните причини за използването на функция, която връща стойност срещу подпрограма, която не се връща. Променливи в рамките на функция или подпрограма са невидими за останалата част от кода, така че за да използвате резултата от код в друга част на програмата, функцията трябва да върне стойността на повикващия. Единственият начин да направите същото с подпрограмите ще бъде да декларираме променливите като публични за цялата програма, пренебрегвайки принципа на капсулиране.
Пример
Примерна функция, която връща стойността е тази, която добавя две числа и връща резултата от сумата. Това ще изглежда така: Функция MySum (A като цяло число, B като цяло) MySum = A + B Край на функцията Изразът "MySum = A + B" не само изчислява резултата, но и поставя стойността в променлива със същото име на функция , което го прави връщана стойност. В този пример, извикването на тази функция би било толкова просто като "Answer = MySum (2.2)", а променливата Response ще получи стойността 4. Функцията може да бъде извиквана толкова пъти, колкото е необходимо.
Връщани стойности в Excel VBA
Въпреки че Excel има много местни математически и финансови функции, може да се наложи да напишете свой собствен метод за по-голяма гъвкавост и мощност. Самото писане на функцията също ви позволява да създавате форми с опростени обекти за въвеждане на данни. Можете да напишете функции, които връщат стойност и да ги вмъкнете в макроси.
По този начин можете да проектирате сложни и мощни приложения, без да се налага да създавате програма от нулата с език за програмиране като C #. Това ви дава силата на оригиналните функции на Excel и опцията да контролирате собствените си потребителски функции, които връщат стойности във вашата форма.