Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Создание собственной функции

Читайте также:
  1. I СОЗДАНИЕ ОРГАНИЗАЦИОННОЙ ДИАГРАММЫ
  2. I Создание рисунка в технике акварель
  3. II СОЗДАНИЕ ДИАГРАММ ДРУГИХ ТИПОВ
  4. II Создание пользовательской кисти
  5. II. Основные функции отделения Фонда
  6. III Технология использования градиента. Создание пользовательского градиента
  7. III. Функции и организация работы аттестационной комиссии

Если же из указанного списка вы не нашли нужную функцию, то вам нажна UDF. UDF (User Defined Function) - это функция, которую Вы создаете сами при помощи VBA.
А теперь создадим свою собственную функцию, на основе VBA. Разберём на простом примере, в котором функция должна будет прибавлять НДС к некоторой сумме.

Заходим в окно VB (Alt+F11), нажимаем Insert и добавляем новый модуль Module.

Синтаксис записи функции в VB следующий

Function name [(arglist)] [As type]

 

[statements]

[name = expression]

 

[Exit Function]

 

[statements]

[name = expression]

 

End Function

Function - объявление функции
name - имя функции (подчиняются тем же правилам, что и имена в процедурах Sub);
[(arglist)] [As type] - аргументы функции и их тип (иногда их не указывают и они принимают значение variant);
[statements] - Любая группа инструкций для выполнения в рамках процедуры Function;
[name = expression] - присвоение функции значение, которое она должна возвращать;
[Exit Function] - В случае, если результат достигнут раньше, то можно выйти из функции, первоначально присвоив name нужное значение;
End Function - конец функции.

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

В столбик Цена с НДС мы запишем нашу функцию, которую мы создадим.
Теперь в новом созданном модуле запишем следующий код:

Function Cena_S_NDS(Cena_bez_NDS As Long)

Cena_S_NDS = Cena_bez_NDS * 1.18

End Function

Из данной процедуры видно, что имя нашей функции Cena_S_NDS, которая присваивает значение цены без НДС и умножает на 1,18. Вот вообщем, то и вся формула. Теперь нам надо её применить в созданной таблице. Для этого ставим курсор в столбец Цена с НДС и нажимаем на строке формул на функцию.

После этого появится окно со всеми функциями, которые имеются в данном документе. Мы выбираем из выпадающего списка пункт "Определённые пользователем".

При этом появится функция, которую мы создали.

Выбираем созданную функцию и нажимаем ОК. Теперь нам появилось новое окно, в котором необходимо указать переменную, которую мы объявили. В данном случае - это Цена без НДС.

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


Дата добавления: 2015-08-09; просмотров: 68 | Нарушение авторских прав


Читайте в этой же книге: Offset(RowOffset, ColumnOffset) | Выделения относительно активной ячейки | Error. Обработка ошибок | Работа с ComboBox |
<== предыдущая страница | следующая страница ==>
Способ №4. Очистка ошибки| Цифры прописью

mybiblioteka.su - 2015-2024 год. (0.005 сек.)