ОФФ: Знатокам Excel

Каккая функция преобразовывает число в текст?
Например 123 чтобы написало "Сто двадцать три"
0
AVS™
про функцию не знаю, есть прога для перевода цифр в рубли и доллары
0
Никакая :-) А если, например, надо перевести число 1234,75 ?
0
у меня где то макрос был
как раз для экселя
тока тама в рублях и копейках

[Сообщение изменено пользователем 10.07.2003 16:18]
0
В принципе, макрос можно самому написать - не такой уж сложный получится :-)
0
DenisG
Покапайся в функциях, там вроде я видел. Но помоему выглядит так: присваиваешь 1 текст ОДИН, толко тогда работает. Если присвоишь ДВА, при наборе 1 напишет ДВА. Могу и ошибаться. А нафига тебе это ?
0
Chief
тока тама в рублях и копейках

То что надо!!!
0
Chief
Наврное неправильно описал задачу.
Нужна функция, которая берет числовое значение из указанной ячейки и расписывает его словами уже в другой ячейке.
0
куда кинуть?
тама его малость доработь
0
masterO99
могу сюда кинуть макрос
0
masterO99
Function prop(csum)
Dim sotny(9), des(9), mil(9), tys(9), rub(9), teen(9), mill(9)
If csum <= 0 Then
prop = " "
Exit Function
Else
tmp@ = csum - Int(csum)
kop = Str(tmp@) + "00"
kop = Mid(kop, 3, 2)
If Len(kop) = 0 Then
kop = "00"
End If
csum = Int(csum)
sotny(1) = "сто": sotny(2) = "двести": sotny(3) = "триста": sotny(4) = "четыреста":
sotny(5) = "пятьсот": sotny(6) = "шестьсот": sotny(7) = "семьсот": sotny(8) = "восемьсот":
sotny(9) = "девятьсот"
des(1) = "десять": des(2) = "двадцать": des(3) = "тридцать": des(4) = "сорок":
des(5) = "пятьдесят": des(6) = "шестьдесят": des(7) = "семьдесят": des(8) = "восемьдесят":
des(9) = "девяносто"
teen(1) = "одиннадцать": teen(2) = "двенадцать": teen(3) = "тринадцать":
teen(4) = "четырнадцать": teen(5) = "пятнадцать": teen(6) = "шестнадцать":
teen(7) = "семнадцать": teen(8) = "восемнадцать": teen(9) = "девятнадцать"
mil(1) = "один миллион": mil(2) = "два миллиона": mil(3) = "три миллиона":
mil(4) = "четыре миллиона": mil(5) = "пять миллионов": mil(6) = "шесть миллионов":
mil(7) = "семь миллионов": mil(8) = "восемь миллионов": mil(9) = "девять миллионов"
tys(1) = "одна тысяча": tys(2) = "две тысячи": tys(3) = "три тысячи":
tys(4) = "четыре тысячи": tys(5) = "пять тысяч": tys(6) = "шесть тысяч":
tys(7) = "семь тысяч": tys(8) = "восемь тысяч": tys(9) = "девять тысяч"
rub(1) = "один рубль": rub(2) = "два рубля": rub(3) = "три рубля":
rub(4) = "четыре рубля": rub(5) = "пять рублей": rub(6) = "шесть рублей":
rub(7) = "семь рублей": rub(8) = "восемь рублей": rub(9) = "девять рублей"
mill(1) = "один миллиард": mill(2) = "два миллиарда": mill(3) = "три миллиарда":
mill(4) = "четыре миллиарда": mill(5) = "пять миллиарда": mill(6) = "шесть миллиардов":
mill(7) = "семь миллиардов": mill(8) = "восемь миллиардов": mill(9) = "девять миллиардов"
str_sum = ""
Sum = Str(csum)
Sum = Space(13 - Len(Sum)) + Sum
For i = 1 To 4
tr = Mid(Sum, 2 + (i - 1) * 3, 3)
If Val(tr) <> 0 Then
zn1 = Val(Mid(tr, 1, 1))
zn2 = Val(Mid(tr, 2, 1))
zn3 = Val(Mid(tr, 3, 1))
str_sum = str_sum + sotny(zn1) + " "
Select Case i
Case 1
If zn2 = 0 And zn3 = 0 Then
str_sum = str_sum + "миллиардов" + " "
ElseIf zn2 <> 0 And zn3 = 0 Then
str_sum = str_sum + des(zn2) + " " + "миллиардов" + " "
ElseIf zn2 = 1 And zn3 <> 0 Then
str_sum = str_sum + teen(zn3) + " " + "миллиардов" + " "
Else
str_sum = str_sum + des(zn2) + " " + mill(zn3) + " "
End If
Case 2
If zn2 = 0 And zn3 = 0 Then
str_sum = str_sum + "миллионов" + " "
ElseIf zn2 <> 0 And zn3 = 0 Then
str_sum = str_sum + des(zn2) + " " + "миллионов" + " "
ElseIf zn2 = 1 And zn3 <> 0 Then
str_sum = str_sum + teen(zn3) + " " + "миллионов" + " "
Else
str_sum = str_sum + des(zn2) + " " + mil(zn3) + " "
End If
Case 3
If zn2 = 0 And zn3 = 0 Then
str_sum = str_sum + "тысяч" + " "
ElseIf zn2 <> 0 And zn3 = 0 Then
str_sum = str_sum + des(zn2) + " " + "тысяч" + " "
ElseIf zn2 = 1 And zn3 <> 0 Then
str_sum = str_sum + teen(zn3) + " " + "тысяч" + " "
Else
str_sum = str_sum + des(zn2) + " " + tys(zn3) + " "
End If
Case 4
If zn2 = 0 And zn3 = 0 Then
str_sum = str_sum + "рублей"
ElseIf zn2 = 0 Then
str_sum = str_sum + rub(zn3)
ElseIf zn2 <> 0 And zn3 = 0 Then
str_sum = str_sum + des(zn2) + " " + "рублей"
ElseIf zn2 = 1 And zn3 <> 0 Then
str_sum = str_sum + teen(zn3) + " " + "рублей"
Else
str_sum = str_sum + des(zn2) + " " + rub(zn3)
End If
End Select
ElseIf i = 4 Then
str_sum = str_sum + "рублей"
End If
Next i
End If
str_sum = Trim(str_sum)
str_sum = UCase(Mid(str_sum, 1, 1)) + Mid(str_sum, 2) + " " + kop + " коп."
prop = str_sum
End Function
0
masterO99
если надо без рублей - легко переделать
0
AVS™
если надо - прога называется Монблан, поищи на download.ru или могу намылить
0
Тема автоматически закрыта.
0
Обсуждение этой темы закрыто модератором форума.