MyTetra Share
Делитесь знаниями!
Пользовательские функции в VBA
Время создания: 16.03.2019 23:43
Раздел: !Закладки - VBA
Запись: xintrea/mytetra_db_adgaver_new/master/base/1512830730co6pc83kba/text.html на raw.githubusercontent.com

Пользовательские функции в VBA

Бывает, что некоторые куски кода повторяются в разных макросах. Так, часто приходится находить последнюю строку с данными или копировать данные из одного и того же места. Такие куски полезно заносить в функции, чтобы не повторять один и тот же код много раз (о принципе don't repeat yourself можно и нужно почитать на вики и хабре). Функции - это кусок кода, вызвать который ты можешь, просто запустив функцию по её названию.

Функция может иметь параметр - переменную, значение которой ты будешь устанавливать при запуске функции. Например, ты можешь записать функцию копирования с листа определенных ячеек, а название листа прописать как параметр. Тогда ты сможешь использовать одну и ту же функцию для разных листов.

Функция записывается отдельно от макроса следующим синтаксисом (где x,y и z - параметры функции):

 

    Function myf (x,y,z)

        тело функции

    End Function

 

Тело функции ничем не отличается от тела обычного макроса.

 

Чтобы вызвать функцию, необходимо записать:

 

    Run myf(a,b,c)

 

После этого начнут выполняться команды, написанные в функции, только вместо переменной x будет подставляться a, вместо y - b, вместо z - c. Затем продолжится выполнение макроса.

 

Пример функции "Нахождение последней строки с данными" можно посмотреть здесь.

Так же в этом разделе:
 
MyTetra Share v.0.59
Яндекс индекс цитирования