Перейти к содержимому
Наше приложение «Дешевые авиабилеты» в AppGallery >>

VBA Excel. Число Пи (значение)

    Число Пи как константа или функция, его возвращающая, отсутствуют в VBA, но есть функция Pi рабочего листа Excel, которой можно воспользоваться. А также есть и другие способы расчета значения этого числа.

    Функция Pi рабочего листа

    Функция Pi рабочего листа Excel возвращает значение числа Пи, округленное до 14 знаков после запятой (3,14159265358979). Присвоение этого значения переменной myPi в коде VBA будет выглядеть следующим образом:

    Число Пи через арктангенс

    Как известно из геометрии, tg(π/4)=1. Соответственно, π/4=arctg(1), а π=4arctg(1). Используя последнее выражение и учитывая, что функция арктангенс (Atn) в VBA есть, можно не обращаться к соответствующей функции рабочего листа Excel:

    Число Пи через арккосинус

    Здесь совсем все просто: cos(π)=-1, отсюда π=arccos(-1). Единственная загвоздка только в том, что функции арккосинус в VBA нет и опять приходится обращаться к функции арккосинус (Acos) рабочего листа Excel:

    Проверка работы функций

    Скопируйте код в модуль VBA и убедитесь в работоспособности представленных выше функций, возвращающих число Пи. Все функции возвращают значение, округленное до 14 знаков после запятой (3,14159265358979):

    Создание константы myPi

    Если при написании кода VBA Excel часто приходится использовать число Пи, его можно объявить как константу. Объявление следует разместить в разделе Declarations и константа будет доступна во всех процедурах этого модуля:

    Объявление константы myPi
    Объявление константы myPi

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

    Содержание рубрики VBA Excel по тематическим разделам со ссылками на все статьи.

    2 комментария для “VBA Excel. Число Пи (значение)”

    1. Здравствуйте!
      Существует ли возможность обратиться к константе из другого модуля
      (по аналогии с доступом к глобальной переменной — Module1.myPi)?
      Спасибо!

      1. Евгений

        Добрый день!
        Именно так (Module1.myPi) можно будет обращаться к константе, если объявить ее в разделе Declarations модуля Module1:

    Обсуждение закрыто.