Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Использовать макрос как формулу

411
25 марта 2008 года
Serzh
136 / / 09.07.2003
Есть написанный мною макрос (VBA), помещен в раздел Module.
Можно ли как-нить обратиться к нему из ячейки таблицы, используя что то наподобие =СУММ()
275
26 марта 2008 года
pashulka
985 / / 19.09.2004
Вот небольшой пример пользовательской функции и несколько примеров её вызова из ячеек рабочего листа :

=MySum(A2:A1000)
=MySum((A2:A1000;B2:B1000))

Код:
Function MySum(iDiapazon As Range) 'As Variant
    iResult = Application.Sum(iDiapazon)
    If IsNumeric(iResult) = True Then
       MySum = iResult
    Else
        Select Case iResult
            Case CVErr(xlErrDiv0)
            MySum = "#ДЕЛ/0!"
            Case CVErr(xlErrNA)
            MySum = "#Н/Д"
            Case CVErr(xlErrName)
            MySum = "#ИМЯ?"
            Case CVErr(xlErrNull)
            MySum = "#ПУСТО!"
            Case CVErr(xlErrNum)
            MySum = "#ЧИСЛО!"
            Case CVErr(xlErrRef)
            MySum = "#ССЫЛКА!"
            Case CVErr(xlErrValue)
            MySum = "#ЗНАЧ!"
        End Select
    End If
End Function


Если же Вы используете процедуру Sub и никаких изменений не допускается, то вызвать макрос можно также использовав пользовательскую функцию, однако, как в первом, так и во втором случае, никакая из используемых процедур не сможет изменять значения ячеек, имена листов и многое другое.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог