Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.03.2012, 16:55   #11
vfv
Пользователь
 
Регистрация: 28.07.2009
Сообщений: 54
По умолчанию

Zay177 получите пропись.
Вложения
Тип файла: rar Пропись.rar (12.4 Кб, 9 просмотров)
vfv вне форума Ответить с цитированием
Старый 06.04.2016, 09:49   #12
Enain
Новичок
Джуниор
 
Регистрация: 06.04.2016
Сообщений: 1
По умолчанию

Не получается скачать посл. файл, можно залить на файлообменник http://rghost.ru/ ?
Enain вне форума Ответить с цитированием
Старый 06.04.2016, 11:35   #13
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

там код
Код:
Public Function Сумма_прописью(Сумма) As String
prml = 0: prmi = 0: prti = 0: rbl = 0: A1 = 0: chislo = Сумма
Dim ed(1 To 4) As Integer
Dim stn(0 To 9) As String
Dim dst(0 To 9) As String
Dim chis1(0 To 9, 1 To 9) As String
Dim chis10(0 To 9) As String
Dim stroka As String
Dim sotni As String
Dim destki As String
Dim edin As String
Dim chislit(1 To 4, 0 To 9) As String
stn(0) = "": stn(1) = "сто ": stn(2) = "двести ": stn(3) = "триста ": stn(4) = "четыреста  ": stn(5) = "пятьсот  ": stn(6) = "шестьсот ": stn(7) = "семьсот ": stn(8) = "восемьсот ": stn(9) = "девятьсот "
dst(0) = "": dst(1) = "": dst(2) = "двадцать ": dst(3) = "тридцать ": dst(4) = "сорок ": dst(5) = "пятьдесят ": dst(6) = "шестьдесят ": dst(7) = "семьдесят ": dst(8) = "восемьдесят ": dst(9) = "девяносто "
chis1(0, 1) = "": chis1(1, 1) = "один ": chis1(2, 1) = "два* ": chis1(3, 1) = "три ": chis1(4, 1) = "четыре ": chis1(5, 1) = "пять ": chis1(6, 1) = "шесть ": chis1(7, 1) = "семь ": chis1(8, 1) = "восемь ": chis1(9, 1) = "девять "
chis1(0, 2) = "": chis1(1, 2) = "один ": chis1(2, 2) = "два* ": chis1(3, 2) = "три ": chis1(4, 2) = "четыре ": chis1(5, 2) = "пять ": chis1(6, 2) = "шесть ": chis1(7, 2) = "семь ": chis1(8, 2) = "восемь ": chis1(9, 2) = "девять "
chis1(0, 3) = "": chis1(1, 3) = "одна ": chis1(2, 3) = "две ": chis1(3, 3) = "три ": chis1(4, 3) = "четыре ": chis1(5, 3) = "пять ": chis1(6, 3) = "шесть ": chis1(7, 3) = "семь ": chis1(8, 3) = "восемь ": chis1(9, 3) = "девять "
chis1(0, 4) = "": chis1(1, 4) = "один ": chis1(2, 4) = "два* ": chis1(3, 4) = "три ": chis1(4, 4) = "четыре ": chis1(5, 4) = "пять ": chis1(6, 4) = "шесть ": chis1(7, 4) = "семь ": chis1(8, 4) = "восемь ": chis1(9, 4) = "девять "
chis10(0) = "десять ": chis10(1) = "одиннадцать ": chis10(2) = "двенадцать ": chis10(3) = "тринадцать ": chis10(4) = "четырнадцать ": chis10(5) = "пятнадцать ": chis10(6) = "шестнадцать ": chis10(7) = "семнадцать ": chis10(8) = "восемнадцать ": chis10(9) = "девятнадцать "
chislit(1, 0) = "": chislit(1, 1) = "миллиард ": chislit(1, 2) = "миллиарда ": chislit(1, 3) = "миллиарда ": chislit(1, 4) = "миллиарда ": chislit(1, 5) = "миллиардов ": chislit(1, 6) = "миллиардов ": chislit(1, 7) = "миллиардов ": chislit(1, 8) = "миллиардов ": chislit(1, 9) = "миллиардов "
chislit(2, 0) = "": chislit(2, 1) = "миллион ": chislit(2, 2) = "миллиона ": chislit(2, 3) = "миллиона ": chislit(2, 4) = "миллиона ": chislit(2, 5) = "миллионов ": chislit(2, 6) = "миллионов ": chislit(2, 7) = "миллионов ": chislit(2, 8) = "миллионов ": chislit(2, 9) = "миллионов "
chislit(3, 0) = "": chislit(3, 1) = "тысяча ": chislit(3, 2) = "тысячи ": chislit(3, 3) = "тысячи ": chislit(3, 4) = "тысячи ": chislit(3, 5) = "тысяч ": chislit(3, 6) = "тысяч ": chislit(3, 7) = "тысяч ": chislit(3, 8) = "тысяч ": chislit(3, 9) = "тысяч "
chislit(4, 0) = "рублей ": chislit(4, 1) = "рубль ": chislit(4, 2) = "рубля ": chislit(4, 3) = "рубля ": chislit(4, 4) = "рубля ": chislit(4, 5) = "рублей ": chislit(4, 6) = "рублей ": chislit(4, 7) = "рублей ": chislit(4, 8) = "рублей ": chislit(4, 9) = "рублей ": slovo = ""
If InStr(1, chislo, "-", vbTextCompare) > 0 Then
    kop = Val(Right$(chislo, 2))
    chislo = Val(chislo)
Else
    A1 = Int(chislo)
    kop = (chislo - Int(chislo)) * 100
    If (kop - Int(kop)) * 10 >= 5 Then
        kop = Int(kop) + 1
    Else
        kop = Int(kop)
    End If
End If
If chislo = 0 Then stroka = ""
If kop < 10 Then
    kopeyki = " 0" + CStr(kop)
Else
    kopeyki = CStr(kop)
End If
If kop > 9 And kop < 20 Then kopeyki = kopeyki + " копеек."
If Int((kop / 10 - Int(kop / 10)) * 10 + 0.005) < 2 And Int((kop / 10 - Int(kop / 10)) * 10 + 0.005) > 0 And (kop < 10 Or kop > 19) Then kopeyki = kopeyki + " копейка."
If Int((kop / 10 - Int(kop / 10)) * 10 + 0.005) > 1 And Int((kop / 10 - Int(kop / 10)) * 10 + 0.005) < 5 And (kop < 10 Or kop > 19) Then kopeyki = kopeyki + " копейки."
If Int((kop / 10 - Int(kop / 10)) * 10 + 0.005) > 4 And Int((kop / 10 - Int(kop / 10)) * 10 + 0.005) < 10 And (kop < 10 Or kop > 19) Then kopeyki = kopeyki + " копеек."
If Int((kop / 10 - Int(kop / 10)) * 10 + 0.005) = 0 And (kop < 10 Or kop > 19) Then kopeyki = kopeyki + " копеек."
chis = Int(chislo + 0.005)
rub = Int((chis / 1000 - Int(chis / 1000)) * 1000 + 0.005)
tis = Int((chis / (10 ^ 6) - Int(chis / (10 ^ 6))) * 1000 + 0.00005)
mil = Int((chis / (10 ^ 9) - Int(chis / (10 ^ 9))) * 1000 + 0.00005)
mlrd = Int((chis / (10 ^ 12) - Int(chis / (10 ^ 12))) * 1000 + 0.00005)
If mlrd > 0 Or mil > 0 Or tis > 0 Or rub > 0 Then
    rbl = 1
Else
    rbl = 0
End If
If mlrd > 0 Then
    ed(1) = mlrd
Else
    ed(1) = 0
End If
If mil > 0 Then
    ed(2) = mil
Else
    ed(2) = 0
End If
If tis > 0 Then
    ed(3) = tis
Else
    ed(3) = 0
End If
If rub > 0 Then
    ed(4) = rub
Else
    ed(4) = 0
End If
sotni = "": destki = "": edin = "": chslt = "": sot = 0: des = 0: edi = 0
For i = 1 To 4
    If ed(i) > 0 Then
        sot = Fix((ed(i) / 100))
        des = Int((ed(i) / 100 - Int(ed(i) / 100)) * 10 + 0.05)
        edi = Int((ed(i) / 10 - Int(ed(i) / 10)) * 10 + 0.005)
        sotni = stn(sot)
        destki = dst(des)
        az = 0
        If des = 1 Then
            edin = chis10(edi): chslt = chislit(i, 5): az = 1
        Else
                edin = chis1(edi, i): chslt = chislit(i, edi)
        End If
    End If
        If i = 4 And rbl = 1 Then
            If az <> 1 Then
                stroka = stroka + sotni + destki + edin + chislit(i, edi)
            Else
                stroka = stroka + sotni + destki + edin + "рублей "
            End If
        Else
            stroka = stroka + sotni + destki + edin + chslt
        End If
        If mlrd > 0 And i = 1 And InStr(1, stroka, "миллиард", 1) = 0 Then stroka = stroka + "миллиардов "
        If mil > 0 And i = 2 And InStr(1, stroka, "миллион", 1) = 0 Then stroka = stroka + "миллионов "
        If tis > 0 And i = 3 And InStr(1, stroka, "тысяч", 1) = 0 Then stroka = stroka + "тысяч "
sotni = "": destki = "": edin = "": chslt = "": sot = 0: des = 0: edi = 0
Next i
If stroka <> "" Or kopeyki <> " 00 копеек." Then
    stroka = stroka + kopeyki
    ddd = UCase$(Left(stroka, 1))
    stroka = ddd + Right$(stroka, Len(stroka) - 1)
End If
Сумма_прописью = stroka
End Function
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Увеличить количество таблиц подключаемых к EXCEL Thunder Horse Microsoft Office Access 3 30.10.2010 11:40
стрелки увеличить уменьшить число в ячейке AKolotushkin Microsoft Office Excel 3 11.06.2010 16:19
как увеличить скорость заполнения данных в mdb из excel Tanuska___:) БД в Delphi 4 22.04.2010 10:50
Работа Delphi с рисунком в Excel? Alex-as-hac Общие вопросы Delphi 0 02.12.2008 09:59