Сумма прописью без копеек в excel

Сумма прописью без копеек в excel

Часто нужно перевести число в текст в Excel так, чтобы оно отображалось прописью (словами) на русском или других языках. Так как по умолчанию нет готовой функции, создадим свою пользовательскую функцию с помощью макросов.

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

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

  1. Открыть редактор макросов ALT+F11.
  2. Создать новый модуль и в нем нужно написать функцию особенным способом: Function вместо Sub . Тогда наша функция «ЧислоПропись» будет отображаться в списке мастера функций (SHIFT+F3), в категории «Определенные пользователем».
  3. Вставить в модуль следующий код и сохранить:



Function ЧислоПропись(Число As Currency ) As String
‘до 999 999 999 999
On Error GoTo Число_Error
Dim strМиллиарды As String , strМиллионы As String , strТысячи As String , strЕдиницы As String , strСотые As String
Dim Поз As Integer

strЧисло = Format(Int(Число), "000000000000" )

‘Миллиарды’
Поз = 1
strМиллиарды = Сотни(Mid(strЧисло, Поз, 1))
strМиллиарды = strМиллиарды & Десятки(Mid(strЧисло, Поз + 1, 2), "м" )
strМиллиарды = strМиллиарды & ИмяРазряда(strМиллиарды, Mid(strЧисло, Поз + 1, 2), "миллиард " , "миллиарда " , "миллиардов " )

‘Миллионы’
Поз = 4
strМиллионы = Сотни(Mid(strЧисло, Поз, 1))
strМиллионы = strМиллионы & Десятки(Mid(strЧисло, Поз + 1, 2), "м" )
strМиллионы = strМиллионы & ИмяРазряда(strМиллионы, Mid(strЧисло, Поз + 1, 2), "миллион " , "миллиона " , "миллионов " )

‘Тысячи’
Поз = 7
strТысячи = Сотни(Mid(strЧисло, Поз, 1))
strТысячи = strТысячи & Десятки(Mid(strЧисло, Поз + 1, 2), "ж" )
strТысячи = strТысячи & ИмяРазряда(strТысячи, Mid(strЧисло, Поз + 1, 2), "тысяча " , "тысячи " , "тысяч " )

‘Единицы’
Поз = 10
strЕдиницы = Сотни(Mid(strЧисло, Поз, 1))
strЕдиницы = strЕдиницы & Десятки(Mid(strЧисло, Поз + 1, 2), "м" )
If strМиллиарды & strМиллионы & strТысячи & strЕдиницы = "" Then strЕдиницы = "ноль "
‘strЕдиницы = strЕдиницы & ИмяРазряда(" ", Mid(strЧисло, Поз + 1, 2), "рубль ", "рубля ", "рублей ")

‘Сотые’
‘strСотые = strКопейки & " " & ИмяРазряда(strКопейки, Right(strКопейки, 2), ‘"копейка", "копейки", "копеек")

ЧислоПропись = strМиллиарды & strМиллионы & strТысячи & strЕдиницы
ЧислоПропись = UCase(Left(ЧислоПропись, 1)) & Right(ЧислоПропись, Len(ЧислоПропись) — 1)

Число_Error:
MsgBox Err.Description
End Function

Function Сотни(n As String ) As String
Сотни = ""
Select Case n
Case 0: Сотни = ""
Case 1: Сотни = "сто "
Case 2: Сотни = "двести "
Case 3: Сотни = "триста "
Case 4: Сотни = "четыреста "
Case 5: Сотни = "пятьсот "
Case 6: Сотни = "шестьсот "
Case 7: Сотни = "семьсот "
Case 8: Сотни = "восемьсот "
Case 9: Сотни = "девятьсот "
End Select
End Function

Function Десятки(n As String , Sex As String ) As String
Десятки = ""
Select Case Left(n, 1)
Case "0" : Десятки = "" : n = Right(n, 1)
Case "1" : Десятки = ""
Case "2" : Десятки = "двадцать " : n = Right(n, 1)
Case "3" : Десятки = "тридцать " : n = Right(n, 1)
Case "4" : Десятки = "сорок " : n = Right(n, 1)
Case "5" : Десятки = "пятьдесят " : n = Right(n, 1)
Case "6" : Десятки = "шестьдесят " : n = Right(n, 1)
Case "7" : Десятки = "семьдесят " : n = Right(n, 1)
Case "8" : Десятки = "восемьдесят " : n = Right(n, 1)
Case "9" : Десятки = "девяносто " : n = Right(n, 1)
End Select

Dim Двадцатка As String
Двадцатка = ""
Select Case n
Case "0" : Двадцатка = ""
Case "1"
Select Case Sex
Case "м" : Двадцатка = "один "
Case "ж" : Двадцатка = "одна "
Case "с" : Двадцатка = "одно "
End Select
Case "2" :
Select Case Sex
Case "м" : Двадцатка = "два "
Case "ж" : Двадцатка = "две "
Case "с" : Двадцатка = "два "
End Select
Case "3" : Двадцатка = "три "
Case "4" : Двадцатка = "четыре "
Case "5" : Двадцатка = "пять "
Case "6" : Двадцатка = "шесть "
Case "7" : Двадцатка = "семь "
Case "8" : Двадцатка = "восемь "
Case "9" : Двадцатка = "девять "
Case "10" : Двадцатка = "десять "
Case "11" : Двадцатка = "одиннадцать "
Case "12" : Двадцатка = "двенадцать "
Case "13" : Двадцатка = "тринадцать "
Case "14" : Двадцатка = "четырнадцать "
Case "15" : Двадцатка = "пятнадцать "
Case "16" : Двадцатка = "шестнадцать "
Case "17" : Двадцатка = "семнадцать "
Case "18" : Двадцатка = "восемнадцать "
Case "19" : Двадцатка = "девятнадцать "
End Select

Десятки = Десятки & Двадцатка
End Function

Function ИмяРазряда(Строка As String , n As String , Имя1 As String , Имя24 As String , ИмяПроч As String ) As String

If Строка <> "" Then
ИмяРазряда = ""
Select Case Left(n, 1)
Case "0" , "2" , "3" , "4" , "5" , "6" , "7" , "8" , "9" : n = Right(n, 1)
End Select

Select Case n
Case "1" : ИмяРазряда = Имя1
Case "2" , "3" , "4" : ИмяРазряда = Имя24
Case Else : ИмяРазряда = ИмяПроч
End Select
End If

Можно написать алгоритм макро программы по-другому и еще сделать так, чтобы она дописывала валюту суммы прописью. Для этого создайте Module2 и введите в него следующий код:

Function ЧислоПрописьюВалюта(Число As Double , Optional Валюта As Integer = 1, Optional Копейки As Integer = 1)
Attribute ЧислоПрописьюВалюта.VB_Description = "Функция преобразовывает число суммы текстовыми словами"
Attribute ЧислоПрописьюВалюта.VB_ProcData.VB_Invoke_Func = "
1"
Dim Edinicy(0 To 19) As String : Dim EdinicyPoslednie(0 To 19) As String
Dim Desyatki(0 To 9) As String : Dim Sotni(0 To 9) As String : Dim mlrd(0 To 9) As String
Dim mln(0 To 9) As String : Dim tys(0 To 9) As String
Dim SumInt, x, shag, vl As Integer : Dim txt, Sclon_Tys As String
‘———————————————
Application.Volatile
‘———————————————
Edinicy(0) = "" : EdinicyPoslednie(0) = IIf(Валюта = 0, "евро" , IIf(Валюта = 1, "рублей" , "долларов" ))
Edinicy(1) = "один " : EdinicyPoslednie(1) = IIf(Валюта = 0, "один евро" , IIf(Валюта = 1, "один рубль" , "один доллар" ))
Edinicy(2) = "два " : EdinicyPoslednie(2) = IIf(Валюта = 0, "два евро" , IIf(Валюта = 1, "два рубля" , "два доллара" ))
Edinicy(3) = "три " : EdinicyPoslednie(3) = IIf(Валюта = 0, "три евро" , IIf(Валюта = 1, "три рубля" , "три доллара" ))
Edinicy(4) = "четыре " : EdinicyPoslednie(4) = IIf(Валюта = 0, "четыре евро" , IIf(Валюта = 1, "четыре рубля" , "четыре доллара" ))
Edinicy(5) = "пять " : EdinicyPoslednie(5) = IIf(Валюта = 0, "пять евро" , IIf(Валюта = 1, "пять рублей" , "пять долларов" ))
Edinicy(6) = "шесть " : EdinicyPoslednie(6) = IIf(Валюта = 0, "шесть евро" , IIf(Валюта = 1, "шесть рублей" , "шесть долларов" ))
Edinicy(7) = "семь " : EdinicyPoslednie(7) = IIf(Валюта = 0, "семь евро" , IIf(Валюта = 1, "семь рублей" , "семь долларов" ))
Edinicy(8) = "восемь " : EdinicyPoslednie(8) = IIf(Валюта = 0, "восемь евро" , IIf(Валюта = 1, "восемь рублей" , "восемь долларов" ))
Edinicy(9) = "девять " : EdinicyPoslednie(9) = IIf(Валюта = 0, "девять евро" , IIf(Валюта = 1, "девять рублей" , "девять долларов" ))
Edinicy(11) = "одиннадцать " : EdinicyPoslednie(11) = IIf(Валюта = 0, "одиннадцать евро" , IIf(Валюта = 1, "одиннадцать рублей" , "одиннадцать долларов" ))
Edinicy(12) = "надцать " : EdinicyPoslednie(12) = IIf(Валюта = 0, "надцать евро" , IIf(Валюта = 1, "надцать рублей" , "надцать долларов" ))
Edinicy(13) = "тринадцать " : EdinicyPoslednie(13) = IIf(Валюта = 0, "тринадцать евро" , IIf(Валюта = 1, "тринадцать рублей" , "тринадцать долларов" ))
Edinicy(14) = "четырнадцать " : EdinicyPoslednie(14) = IIf(Валюта = 0, "четырнадцать евро" , IIf(Валюта = 1, "четырнадцать рублей" , "четырнадцать долларов" ))
Edinicy(15) = "пятнадцать " : EdinicyPoslednie(15) = IIf(Валюта = 0, "пятнадцать евро" , IIf(Валюта = 1, "пятнадцать рублей" , "пятнадцать долларов" ))
Edinicy(16) = "шестнадцать " : EdinicyPoslednie(16) = IIf(Валюта = 0, "шестнадцать евро" , IIf(Валюта = 1, "шестнадцать рублей" , "шестнадцать долларов" ))
Edinicy(17) = "семнадцать " : EdinicyPoslednie(17) = IIf(Валюта = 0, "семнадцать евро" , IIf(Валюта = 1, "семнадцать рублей" , "семнадцать долларов" ))
Edinicy(18) = "восемнадцать " : EdinicyPoslednie(18) = IIf(Валюта = 0, "восемнадцать евро" , IIf(Валюта = 1, "восемнадцать рублей" , "восемнадцать долларов" ))
Edinicy(19) = "девятнадцать " : EdinicyPoslednie(19) = IIf(Валюта = 0, "девятнадцать евро" , IIf(Валюта = 1, "девятнадцать рублей" , "девятнадцать долларов" ))
»———————————————
Desyatki(0) = "" : Sotni(0) = "" : tys(0) = "тисячь " : mln(0) = "миллионов " : mlrd(0) = "миллиардов "
Desyatki(1) = "десять " : Sotni(1) = "сто " : tys(1) = "тысяча " : mln(1) = "миллион " : mlrd(1) = "миллиарда "
Desyatki(2) = "двадцать " : Sotni(2) = "двести " : tys(2) = "тысячи " : mln(2) = "миллиона " : mlrd(2) = "миллиарда "
Desyatki(3) = "тридцать " : Sotni(3) = "триста " : tys(3) = "тысячи " : mln(3) = "миллиона " : mlrd(3) = "миллиарда "
Desyatki(4) = "сорок " : Sotni(4) = "четыреста " : tys(4) = "тысячи " : mln(4) = "миллиона " : mlrd(4) = "миллиарда "
Desyatki(5) = "пятьдесят " : Sotni(5) = "пятьсот " : tys(5) = "тысяч " : mln(5) = "миллионов " : mlrd(5) = "миллиардов "
Desyatki(6) = "шестьдесят " : Sotni(6) = "шестьсот " : tys(6) = "тысяч " : mln(6) = "миллионов " : mlrd(6) = "миллиардов "
Desyatki(7) = "семьдесят " : Sotni(7) = "семьсот " : tys(7) = "тысяч " : mln(7) = "миллионов " : mlrd(7) = "миллиардов "
Desyatki(8) = "восемьдесят " : Sotni(8) = "восемьсот " : tys(8) = "тысяч " : mln(8) = "миллионов " : mlrd(8) = "миллиардов "
Desyatki(9) = "девяносто " : Sotni(9) = "девятьсот " : tys(9) = "тысяч " : mln(9) = "миллионов " : mlrd(9) = "миллиардов "
‘———————————————

Читайте также:  Game boost msi что это

On Error Resume Next
SumInt = Int(Число)
For x = Len(SumInt) To 1 Step -1
shag = shag + 1
Select Case x
Case 12 ‘ — сотни миллиардов
vl = Mid(SumInt, shag, 1)
txt = txt & Sotni(vl)
Case 11 ‘ — десятки миллиардов
vl = Mid(SumInt, shag, 1)
If vl = "1" And Mid(SumInt, shag + 1, 1) <> 0 Then GoTo 10 Else txt = txt & Desyatki(vl) ‘ — если конец триады от 11 до 19 то перескакиваем на единицы, иначе — формируем десятки
Case 10 ‘ — единицы миллиардов
vl = Mid(SumInt, shag, 1)
If shag > 1 Then
If Mid(SumInt, shag — 1, 1) = 1 Then txt = txt & Edinicy(Mid(SumInt, shag — 1, 2)) & "миллиарда " Else txt = txt & Edinicy(vl) & mlrd(vl) ‘числа в диапозоне от 11 до 19 склоняются на "мільярдов" независимо от последнего числа триады
Else
txt = txt & Edinicy(vl) & mlrd(vl)
End If

Case 9 ‘ — сотни миллионов
vl = Mid(SumInt, shag, 1)
txt = txt & Sotni(vl)
Case 8 ‘ — десятки миллионов
vl = Mid(SumInt, shag, 1)
If vl = "1" And Mid(SumInt, shag + 1, 1) <> 0 Then GoTo 10 Else txt = txt & Desyatki(vl) ‘ — если конец триады от 11 до 19 то перескакиваем на единицы, иначе — формируем десятки
Case 7 ‘ — единицы миллионов
vl = Mid(SumInt, shag, 1)
If shag > 2 Then
If (Mid(SumInt, shag — 2, 1) = 0 And Mid(SumInt, shag — 1, 1) = 0 And vl = "0" ) Then GoTo 10
End If
If shag > 1 Then
If Mid(SumInt, shag — 1, 1) = 1 Then txt = txt & Edinicy(Mid(SumInt, shag — 1, 2)) & "миллиона " Else : txt = txt & Edinicy(vl) & mln(vl) ‘числа в диапозоне от 11 до 19 склоняются на "миллиардов" независимо от последнего числа триады
Else
txt = txt & Edinicy(vl) & mln(vl)
End If
‘-КОНЕЦ БЛОКА_______________________

Case 6 ‘ — сотни тысяч
vl = Mid(SumInt, shag, 1)
txt = txt & Sotni(vl)
Case 5 ‘ — десятки тысяч
vl = Mid(SumInt, shag, 1)
If vl = 1 And Mid(SumInt, shag + 1, 1) <> 0 Then GoTo 10 Else txt = txt & Desyatki(vl) ‘ — если конец триады от 11 до 19 то перескакиваем на единицы, иначе — формируем десятки
Case 4 ‘ — единицы тысяч
vl = Mid(SumInt, shag, 1)
If shag > 2 Then
If (Mid(SumInt, shag — 2, 1) = 0 And Mid(SumInt, shag — 1, 1) = 0 And vl = "0" ) Then GoTo 10
End If
Sclon_Tys = Edinicy(vl) & tys(vl) ‘ — вводим переменную Sclon_Tys из-за иного склонения тысяч в русском языке
If vl = 1 Then Sclon_Tys = "одна " & tys(vl) ‘ — для тысяч склонение "один" и "два" неприменимо ( поэтому вводим переменную Sclon_Tys )
If vl = 2 Then Sclon_Tys = "две " & tys(vl) ‘ — для тысяч склонение "один" и "два" неприменимо ( поэтому вводим переменную Sclon_Tys )
If shag > 1 Then
If Mid(SumInt, shag — 1, 1) = 1 Then Sclon_Tys = Edinicy(Mid(SumInt, shag — 1, 2)) & "тисяч "
End If
txt = txt & Sclon_Tys

‘-КОНЕЦ БЛОКА_______________________
Case 3 ‘ — сотни
vl = Mid(SumInt, shag, 1)
txt = txt & Sotni(vl)
Case 2 ‘ — десятки
vl = Mid(SumInt, shag, 1)
If vl = "1" And Mid(SumInt, shag + 1, 1) <> 0 Then GoTo 10 Else txt = txt & Desyatki(vl) ‘ — если конец триады от 11 до 19 то перескакиваем на единицы, иначе — формируем десятки
Case 1 ‘ — единицы
If Mid(SumInt, shag — 1, 1) <> 1 Or Mid(SumInt, shag — 1, 2) = "10" Then vl = Mid(SumInt, shag, 1) Else vl = Mid(SumInt, shag — 1, 2)
txt = txt & EdinicyPoslednie(vl)

End Select
10: Next x
a = Число
b = Int(a)
c = (Round(a — b, 2)) * 100
If c And c >= 1 Then c = "0" + CStr(c)
If c = 0 Then c = CStr(c) + "0"
d = ""
If Валюта = 1 Then d = "коп." Else d = "цен."
If Валюта > 2 Or Валюта Then MsgBox "Укажите параметр 0-2"
If Валюта > 2 Or Валюта Then GoTo 11
If Копейки = 0 Then
d = ""
c = ""
End If
If Копейки = 2 Then d = ""
If Копейки > 2 Or Копейи Then MsgBox "Укажите параметр 0, 1 или 2"
If Копейки > 2 Or Копейки Then GoTo 11
ЧислоПрописьюВалюта = UCase(Left(txt, 1)) & LCase(Mid(txt, 2)) + " " + CStr(c) + d
11:
End Function

Читайте также:  Как в самсунге добавить контакт в избранное

Sub DescribeFunction()
Dim FuncName As String
Dim FuncDesc As String
Dim Category As String
Dim ArgDesc(1 To 3) As String

FuncName = "ЧислоПрописьюВалюта"
FuncDesc = "Функция преобразовывает число суммы текстовыми словами"
Category = 1 ‘Text category
ArgDesc(1) = "Исходная сумма"
ArgDesc(2) = "(необязательный) Тип отображаемой валюты 0-Евро, 1-Рубли, 2-Доллары."
ArgDesc(3) = "(необязательный) Нужны ли копейки: 0-нет, 1-отображать копейи стандартно, 2-отображать только дробную часть (без слов)."

Application.MacroOptions _
Macro:=FuncName, _
Description:=FuncDesc, _
Category:=Category, _
ArgumentDescriptions:=ArgDesc
End Sub

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

Кроме того благодаря данному макросу DescribeFunction функция будет доступна в группе: «ФОРМУЛЫ»-«Библиотека функций»-«Финансовые»-«ЧислоПрописьюВалюта»

Если мы указываем число (от 0 до 2)в параметре второй функции «ЧислоПрописьюВалюта» то функция автоматически подставит нужную валюту в сумме прописью:

Как видите, этот VBA-код макроса преобразует числа в слова. После вставки данного кода в модуль редактора макросов, у нас работает новая функция, которую можно вызвать из мастера (кнопка fx возле строки формул).

Украинская версия функции ЧислоСловоВалюта для перевода сумм в гривны находиться в следующем файле:

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

СУММА ПРОПИСЬЮ в Excel 2007, 2010 Макрос для бухгалтеров на русском

Бухгалтеру при работе в Эксел при печати платежек, приходников, счетов-фактур, необходимо заполнять поля суммы прописью . Корпорация Майкрософт об этом не подумала, а Андрей Коцюбинский подумал. Он писал книги по компьютерной тематике, и среди них значительной популярностью пользовалась книга « Excel для бухгалтера в примерах ». С этой книгой распространялся макрос для Excel , автоматизирующий печать суммы прописью в электронных таблицах.

Вот с сайта его веб-студии е-КАО мы и взяли этот доработанный макрос.

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

Поэтому в приложенном для скачивания zip-файле находится два файла:

  1. sumprop.xla — файл надстройки
  2. sumprop.xls — файл макроса

Макрос: сумма прописью в Excel 2007, 2010

Можно использовать как обычный макрос, размещенный в обычной рабочей книге Excel (sumprop.xls). Я тоже так делаю, потому что не использую чужих, непроверенных макросов. После того, как вы скачаете файл с макросом Сумма Прописью , необходимо подключить данный макрос. Но для этого сначала необходимо разрешить выполнение макросов в MS Excel.

Для включения макросов при работе с версией Excel 2002 , входящей в состав Microsoft Office XP, или с версией Microsoft Office Excel 2003 , нужно выбрать команду меню Сервис — Параметры. Будет открыт диалог настройки, имеющий несколько вкладок. Необходимо открыть вкладку Безопасность, на которой следует нажать кнопку Безопасность макросов. На экране появится диалог настройки безопасности Excel. С помощью переключателя, расположенного в диалоге, установите низкий уровень безопасности, чтобы выполнялись все макросы. Далее необходимо закрыть оба диалога, для чего следует нажать кнопки OK в них.

В Excel 2000 для вызова аналогичного диалога необходимо выбрать команду меню Сервис — Макрос — Безопасность.

Если же используется версия Excel 97 , нужно выбрать команду меню Сервис — Параметры. В диалоге настройки следует выбрать вкладку Общие и снять флажок Защита от макровирусов. Следует заметить, что если вы не снимите защиту от макровирусов в Excel 97 или установите средний уровень безопасности в других версиях программы, при запуске Excel будет задан вопрос, хотите ли вы выполнять макросы, на который следует ответить утвердительно.

Как подключить программу макрос Сумма прописью в Excel 2007, 2010 на русском языке

Чтобы подключать программу печати суммы прописью ко всем электронным таблицам, следует поместить полученный файл в папку автозапуска Excel . Данная папка называется XLStart , и расположена она в папке, в которой установлен Microsoft Office.

Вначале найдите папку Program Files . Скорее всего, она расположена на диске C вашего компьютера. В этой папке следует найти папку Microsoft Office или Microsoft Office 2003, а в ней папку Office 10, Office 11, Office12 или Office , в зависимости от используемой вами версии. Вне зависимости от конкретных названий папок, в последней папке вы должны обнаружить папку XLStart . Поместите скачанный ранее файл sumprop.xls в данную папку, после чего при каждом запуске Excel будет открываться таблица, в которой располагается макрос печати суммы прописью.

Использование программы печати суммы прописью в Excel (Ексел)

Работа с ней ведется через использование функций Excel. Введите в первую ячейку третьей строки формулу =СуммаПрописью(836) и вы увидите результат вычислений:

Введите после этого в первую ячейку второй строки формулу = СуммаПрописью (A1). Так как пока в ячейку A1 ничего не введено, то результатом будет:

После того, как в первую ячейку будет введено число, например, 3743917034,51, результат изменится на:

При вводе другого числа результат соответственно изменится. Кроме печати суммы прописью доступна стала и еще одна дополнительная функция. Введите в первую ячейку число 582,43, а в любую свободную ячейку формулу =ЧислоПрописью(A1) . Результатом будет пятьсот восемьдесят два , то есть первая буква уже не прописная, копейки отброшены и нет названия рублей. Также имеется возможность вывода суммы для названий женского рода – пятьсот восемьдесят две . Для этого следует использовать формулу =ЧислоПрописью(A1;ЛОЖЬ) . Если второй параметр опущен, выводится сумма для названий мужского рода.

Надстройка: сумма прописью в Excel

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

Нужно поместить полученный файл sumprop.xla в папку, в которой хранятся дополнительные надстройки. Конкретный путь к этой папке зависит от версии Excel, но скорее всего он будет похожим на этот:

C:Documents and SettingsUserApplication DataMicrosoftAddIns

где: вместо User следует подставить имя пользователя Windows.

Читайте также:  Как назвать аккаунт в инстаграме для ногтей

Дополнительное неудобство вызывается тем, что папка Application Data может быть скрыта, то есть не видна при просмотре в проводнике Windows.

Проще всего для размещения скачанного файла в нужной папке нужно:

  1. Выбрать в Excel команду меню Сервис — Надстройки и в появившемся диалоге нажать кнопку Обзор . Будет открыт диалог выбора файла с надстройкой, причем текущей окажется нужная вам папка.
  2. Запустите проводник Windows и перейдите в нем к папке, в которой находится скачанный ранее из интернета файл. Перетащите с помощью мыши значок файла из окна проводника в открытый диалог. Теперь файл с нужной надстройкой находится в нужной папке.
  3. Щелкните на нем мышью и нажмите кнопку OK, чтобы закрыть диалог. В списке доступных надстроек должна появиться строка Сумма Прописью.
  4. Установите флажок рядом с этой строкой и нажмите кнопку OK,
  5. После чего вы сможете использовать функцию печати суммы прописью в Excel .

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

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

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

Можно ввести непосредственно значение или сослаться на ячейку, в которой это значение расположено. Нажав кнопку OK , вы закроете диалог и вставите результат в текущую ячейку.

ДОПОЛНИТЕЛЬНЫЕ ССЫЛКИ по теме
  1. флешка USB Flash: УТИЛИТЫ ПРОГРАММЫ для восстановления, форматирования флешек
    Фирменные универсальные утилиты софт для восстановления объема, тестирования флешек USB Flash. Драйвера для USB Flash. Производители: Sony, Seitec, IOSELL, Transcend , A-Data, SanDisk, EasyDisk, Patriot, Panasonic, Traxdata.

Денежная сумма прописью на рабочем листе Excel. Преобразование с помощью блока ячеек с формулами. Применение пользовательской функции «СуммаПрописью».

В этой статье рассмотрены способы преобразования денежного значения в самый употребительный текстовый формат: 0,00 = Ноль рублей 00 копеек.

Блок ячеек с формулами

Скачайте файл Excel с блоком ячеек с формулами, преобразующими число в сумму прописью, и примером размещения ссылок.

Работать с блоком ячеек чрезвычайно просто:

  • Скопируйте диапазон с формулами и вставьте в нужный файл.
  • Замените в блоке входную ссылку рядом со словом «Вход».
  • В ячейку, где должна отображаться сумма прописью, добавьте ссылку на выходную ячейку блока (рядом со словом «Выход»).

Пример размещения ссылок смотрите в скачанном файле. При желании, диапазон ячеек с формулами можно скрыть.

Преимущества блока ячеек с формулами:

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

Недостатки блока ячеек с формулами:

  • не совсем удобно для пользователя каждый раз переносить блок ячеек с формулами из файла в файл;
  • если диапазон ячеек с формулами скрыт или размещен вне видимого экрана, можно случайно удалить часть формул вместе с удаляемыми строками или столбцами.

Этих недостатков лишен более изящный способ преобразования числового денежного значения в текст с помощью пользовательской функции «СуммаПрописью».

Функция «СуммаПрописью»

Эта пользовательская функция написана на VBA Excel. Вставить ее в ячейку можно с помощью мастера функций или вручную, как и любую другую встроенную функцию рабочего листа.

Чтобы функцией «СуммаПрописью» можно было воспользоваться, ее программный код должен быть добавлен в рабочую книгу Excel. При передаче книги со встроенным кодом на другой компьютер, функция сохранит работоспособность.

Чтобы функция была доступна из всех рабочих книг на отдельном компьютере, ее код следует добавить в персональную (личную) книгу макросов (PERSONAL.XLSB).

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

  1. Скачайте архив и извлеките из него файл «Module.bas» с кодом функции.
  2. Откройте любую книгу Excel, можно новую.
  3. Сочетанием левой клавиши Alt+F11 откройте редактор Visual Basic for Applications.

  1. Дважды кликните на строке «VBA Project (PERSONAL.XLSB)» или один раз на крестике слева для открытия вложенного списка. Если эта позиция уже развернута переходите к пункту 5.

  1. Дважды кликните на строке «Microsoft Excel Objects» или один раз на крестике слева для открытия списка объектов. Если эта позиция уже развернута переходите к пункту 6.

  1. Кликнув правой кнопкой на строке «ЭтаКнига», откройте контекстное меню и выберите в нем пункт «Import File…».

  1. В открывшемся диалоге выбора файлов найдите извлеченный ранее из архива «Module.bas» и выберите его двойным кликом. Модуль с функцией будет автоматически загружен.

Теперь можно в ячейки на листах любых рабочих книг вставлять формулу: «=PERSONAL.XLSB!СуммаПрописью(АдресЯчейки)» или, что намного удобнее, выбирать функцию с помощью мастера. Откройте мастер функций, выберите категорию «Определенные пользователем» и в списке доступных функций появится строка «PERSONAL.XLSB!СуммаПрописью», которую можно выбрать, а на втором шаге вставить адрес ячейки с числовым значением.

Формула будет доступна во всех книгах Excel, но только на компьютере, на котором находится персональная книга макросов PERSONAL.XLSB с загруженным модулем.

Если книгу планируется передавать на другие машины, тогда в шаге 6 надо правой кнопкой кликнуть на строке «ЭтаКнига», относящейся не к «VBA Project (PERSONAL.XLSB)», а относящейся к «VBA Project (ВашаКнига)» с именем вашей книги. Тогда модуль с функцией загрузится непосредственно в вашу рабочую книгу Excel и будет доступен для этой книги на любом компьютере. В этом случае формула в ячейке будет иметь вид: «=СуммаПрописью(АдресЯчейки)».

С кодом функции «СуммаПрописью» вы можете ознакомиться в этой статье.

Ссылка на основную публикацию
Стабилизированная платформа отражатель fallout 4 как подключить
При прохождении задания «Молекулярный уровень» нужно будет сделать перехватчик, а также провести питание для его включения. Используя данную статью вы...
Смарт тв ошибка мегого
В случае возникновения проблем с приложением MEGOGO на вашем телевизоре: приложение не запускается черный экран при запуске появляется сообщение: «произошла...
Содержимое чипа некорректно ch341a
Программатор микросхем BIOS 24 и 25 серии CH341A Pro Программатор CH341A Pro используется для программирования микросхем BIOS компьютеров, ноутбуков, видеокарт,...
Ставлю лайк а он исчезает вк
я чистила кэш и куки.Переустанавливала браузер,ничего не помогает. постоянно выдает какую то ошибку, все говорят подождать пару часов и все...
Adblock detector