Сумма прописью в Excel — функция через VBA и API
Добавьте функцию =PROPNUM() в Excel за 5 минут: VBA-макрос использует API PropNum и работает в любом файле.
Как подключить
- 1Откройте файл Excel и нажмите Alt + F11 — откроется редактор Visual Basic.
- 2В меню выберите Вставка (Insert) → Модуль (Module).
- 3Скопируйте код функции PROPNUM ниже и вставьте в открывшееся окно.
- 4Нажмите Ctrl + S, закройте редактор.
- 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, контакты.