программа Excel

Новая тема
Подскажите можно, чтобы в Excel итоговые суммы писались прописью? Спасибо.
Для этого существуют определенные макросы. Они привязываются к нужному файлу. К сожалению, сразу не вспомню, как это делается. Но нужно помнить, что антивирусные программы считают, что макросы, привязанные к файлу, могут быть вирусами, о чем предупреждают.
' *****************************************************<br><br>' Число прописью, данную функцию наваял на Visual Basic 6.0,<br><br>но это все едино. Вызывается примерно так Str = InWords(***число**) <br><br>' *****************************************************<br><br>Public Function InWords(nNumber As Long) As String<br><br>    Static triad(4) As Integer, numb1(0 To 19) As String, numb2(0 To 9) As String, numb3(0 To 9) As String<br><br>    If nNumber = 0 Then<br><br>        InWords = "<br><br>        Exit Function<br><br>    End If<br><br>    ss@ = nNumber<br><br>    triad(1) = ss@ - Int(ss@ / 1000) * 1000<br><br>    ss@ = Int(ss@ / 1000)<br><br>    triad(2) = ss@ - Int(ss@ / 1000) * 1000<br><br>    ss@ = Int(ss@ / 1000)<br><br>    triad(3) = ss@ - Int(ss@ / 1000) * 1000<br><br>    ss@ = Int(ss@ / 1000)<br><br>    triad(4) = ss@ - Int(ss@ / 1000) * 1000<br><br>    ss@ = Int(ss@ / 1000)<br><br>    numb1(0) = "<br><br>    numb1(1) = "один "<br><br>    numb1(2) = "два "<br><br>    numb1(3) = "три "<br><br>    numb1(4) = "четыре "<br><br>    numb1(5) = "пять "<br><br>    numb1(6) = "шесть "<br><br>    numb1(7) = "семь "<br><br>    numb1(8) = "восемь "<br><br>    numb1(9) = "девять "<br><br>    numb1(10) = "десять "<br><br>    numb1(11) = "одиннадцать "<br><br>    numb1(12) = "двенадцать "<br><br>    numb1(13) = "тринадцать "<br><br>    numb1(14) = "четырнадцать "<br><br>    numb1(15) = "пятнадцать "<br><br>    numb1(16) = "шестнадцать "<br><br>    numb1(17) = "семнадцать "<br><br>    numb1(18) = "восемнадцать "<br><br>    numb1(19) = "девятнадцать "<br><br>    numb2(0) = "<br><br>    numb2(1) = "<br><br>    numb2(2) = "двадцать "<br><br>    numb2(3) = "тридцать "<br><br>    numb2(4) = "сорок "<br><br>    numb2(5) = "пятьдесят "<br><br>    numb2(6) = "шестьдесят "<br><br>    numb2(7) = "семьдесят "<br><br>    numb2(8) = "восемьдесят "<br><br>    numb2(9) = "девяносто "<br><br>    numb3(0) = "<br><br>    numb3(1) = "сто "<br><br>    numb3(2) = "двести "<br><br>    numb3(3) = "триста "<br><br>    numb3(4) = "четыреста "<br><br>    numb3(5) = "пятьсот "<br><br>    numb3(6) = "шестьсот "<br><br>    numb3(7) = "семьсот "<br><br>    numb3(8) = "восемьсот "<br><br>    numb3(9) = "девятьсот "<br><br>    txt$ = "<br><br>    If ss@ <> 0 Then<br><br>        n% = MsgBox("Сумма выходит за границы формата", 16, "Сумма прописью")<br><br>        Сумма_прописью = "<br><br>        Exit Function<br><br>    End If<br><br>    For i% = 4 To 1 Step -1<br><br>        n% = 0<br><br>        If triad(i%) > 0 Then<br><br>            n% = Int(triad(i%) / 100)<br><br>            txt$ = txt$ & numb3(n%)<br><br>            n% = Int((triad(i%) - n% * 100) / 10)<br><br>            txt$ = txt$ & numb2(n%)<br><br>            If n% < 2 Then<br><br>                n% = triad(i%) - (Int(triad(i%) / 10) - n%) * 10<br><br>            Else<br><br>                n% = triad(i%) - Int(triad(i%) / 10) * 10<br><br>            End If<br><br>            Select Case n%<br><br>            Case 1<br><br>                If i% = 2 Then txt$ = txt$ & "одна " Else txt$ = txt$ & "один "<br><br>            Case 2<br><br>                If i% = 2 Then txt$ = txt$ & "две " Else txt$ = txt$ & "два"<br><br>            Case Else<br><br>                txt$ = txt$ & numb1(n%)<br><br>            End Select<br><br>            Select Case i%<br><br>            Case 2<br><br>                If n% = 0 Or n% > 4 Then<br><br>                    txt$ = txt$ + "тысяч "<br><br>                Else<br><br>                    If n% = 1 Then txt$ = txt$ + "тысяча " Else txt$ = txt$ + "тысячи "<br><br>                End If<br><br>            Case 3<br><br>                If n% = 0 Or n% > 4 Then<br><br>                    txt$ = txt$ + "миллионов "<br><br>                Else<br><br>                    If n% = 1 Then txt$ = txt$ + "миллион " Else txt$ = txt$ + "миллиона "<br><br>                End If<br><br>            Case 4<br><br>                If n% = 0 Or n% > 4 Then<br><br>                    txt$ = txt$ + "миллиардов "<br><br>                Else<br><br>                    If n% = 1 Then txt$ = txt$ + "миллиард " Else txt$ = txt$ + "миллиарда "<br><br>                End If<br><br>            End Select<br><br>        End If<br><br>    Next i%<br><br>    txt$ = UCase$(Left$(txt$, 1)) & Mid$(txt$, 2)<br><br>    InWords = txt$<br><br>End Function
Читают тему
(гостей: 1)

Быстрый переход