PropNum.ruPropNum

Сумма прописью в Excel — функция через VBA и API

Добавьте функцию =PROPNUM() в Excel за 5 минут: VBA-макрос использует API PropNum и работает в любом файле.

Как подключить

  1. 1Откройте файл Excel и нажмите Alt + F11 — откроется редактор Visual Basic.
  2. 2В меню выберите Вставка (Insert) → Модуль (Module).
  3. 3Скопируйте код функции PROPNUM ниже и вставьте в открывшееся окно.
  4. 4Нажмите Ctrl + S, закройте редактор.
  5. 5В любой ячейке введите =PROPNUM(A1) — функция вернёт сумму прописью.

VBA-функция для Excel

Функция обращается к API PropNum и возвращает сумму прописью в именительном падеже. Работает в Excel 2010 и новее.

VBA
Function PROPNUM(amount As Double) As String
    Dim xml As Object
    Set xml = CreateObject("MSXML2.XMLHTTP.6.0")
    xml.Open "GET", "https://propnum.ru/api/convert/num?amount=" & amount, False
    xml.Send
    Dim resp As String: resp = xml.ResponseText
    If InStr(resp, """full"":""") > 0 Then
        PROPNUM = Split(Split(resp, """full"":""")(1), """")(0)
    Else
        PROPNUM = "Ошибка"
    End If
End Function

Пример использования в ячейке

После установки функции введите в ячейку: =PROPNUM(A1) — где A1 содержит числовое значение суммы.

Excel formula
=PROPNUM(50000)
→ "Пятьдесят тысяч рублей 00 копеек"

=PROPNUM(B2)
→ сумма из ячейки B2 прописью

Частые вопросы

Нужен ли интернет для работы функции?
Да, функция обращается к API PropNum через интернет. Без подключения вернётся ошибка.
Работает ли в Excel Online (Microsoft 365)?
Excel Online не поддерживает VBA-макросы. Используйте десктопную версию Excel или Google Sheets с Apps Script.
Можно ли получить родительный падеж?
Да: GET /api/convert/num?amount=1000&case=gen вернёт «тысячи рублей 00 копеек».

Нужна помощь с интеграцией?

Смотрите полную документацию API или напишите нам — документация API, контакты.