Перевод чисел в «деньги»
Функцию, о которой рассказывается в данном подразделе, наверняка оценят экономисты, а также работники бухгалтерских и финансовых служб предприятий (организаций). С ее помощью можно преобразовать хранящееся в ячейке число в денежное представление: например, число 53 будет отображаться как 53 руб. 0 0 коп., а число 2 7,43 – как 27 руб. 4 3 коп. Данная функция называется RubKop, ее код приведен в листинге 2.48.
Листинг 2.48. Функция RubKop
Function RubKop(Число)
' Пустые ячейки и ячейки, содержащие текст, функция _
не обрабатывает
If IsNumeric(Число) = False Or Число = "" Then RubKop = _
«<>»: Exit Function
' Из числа целой части – рубли
ДлинаЧисла = Len(Число)
ЦелаяЧасть = Fix(Число)
ДлинаЦелой = Len(ЦелаяЧасть)
' Вычисление длины дробной части
ДлинаДроби = ДлинаЧисла – ДлинаЦелой
If ДлинаДроби <> 0 Then
ДлинаДроби = ДлинаЧисла – ДлинаЦелой – 1
End If
' Формирование количества копеек в зависимости от длины _
дробной части
If ДлинаДроби = 0 Then
' Ноль копеек
Копейки = «00»
ElseIf ДлинаДроби = 1 Then
' Дробная часть состоит из одного числа – это _
десятки копеек
Копейки = Right(Число, ДлинаДроби) & "0"
ElseIf ДлинаДроби = 2 Then
' Дробная часть полностью соответствует количеству копеек
Копейки = Right(Число, ДлинаДроби)
Else
' Длина дробной части больше двух – округлим _
дробную часть
Копейки = Right(Число, ДлинаДроби)
If Mid(Копейки, 3, 1) > 4 Then
Копейки = Left(Копейки, 2) + 1
Else
Копейки = Left(Копейки, 2)
End If
End If
' Составление полной надписи из количества рублей и копеек
Рубли = ЦелаяЧасть
RubKop = Рубли & " " & «руб.» & " " & Копейки & " " & «коп.»
End Function
После выбора функции следует указать ячейку, содержимое которой нужно преобразовать. Результат преобразования будет показан в активной ячейке.