Wiki ЖБК

Материалы для проектирования железобетонных конструкций

Инструменты пользователя

Инструменты сайта


польз_функц_excel

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

Автор: Dmitry Rudenko

С помощью встроенного в MS Office языка VBA можно создавать достаточно мощные приложения для автоматизации различных процессов. Ниже представлен пример создания пользовательской функции, вычисляющий массу погонного метра арматуры по её диаметру:

  • Добавляем в ленту "Панель разработчика"
  • Запускаем Visual Basic (alt+F11)
  • В дереве проекта создаём новый модуль
  • В модуле описываем функцию, например:
Public Function ArmWeight(diam As Double) As Double
  Application.Volatile
  ArmWeight = 3.1416 * diam / 1000 * diam / 1000 / 4 * 7850
End Function
  • Теперь, при добавлении в любую ячейку формулы следующего вида:
=ArmWeight(12)
  • Получаем на выходе значение "0,888"

Пример: armweight.zip

Обсуждение

Гоношилин Антон, 2025-01-09 21:16
Добрый день.
Подскажите, какой смысл в строке "Application.Volatile"? Она намеренно записана в функции?
Как я понял из описания "Application.Volatile" - она будет пересчитывать функцию при изменении ЛЮБОЙ ячейки на листе.
Хотя фактически на возвращаемое функцией значение влияет лишь аргумент diam. Но при изменении diam значение функции поменяется в любом случае, и без "Application.Volatile".
Dmitry Rudenko, 2025-01-09 22:10
Последнее изменение статьи: 2013-02-25. Честно - я не помню.
Гоношилин Антон, 2025-01-09 22:17
Понял -).
При использовании нескольких таких функций на листе - это будет не критично с точки зрения времени, затраченного на пересчет функций.

П.С. Спасибо за сайт.
Ваш комментарий:
 ______   __ __   ___ 
/_  __/  / // /  / _ |
 / /    / _  /  / __ |
/_/    /_//_/  /_/ |_|
 
PDF Export Download this page as a pdf Text Export Download this page as a plain text
польз_функц_excel.txt · Последнее изменение: 2013-02-25 00:01 (внешнее изменение)

Инструменты страницы