Zdravim , mam nasledujici makro ktery mi vypisuje cisla slovy (dik lidem z konfery) a libilo by se mi kdyby dokazalo ke slovum pridat i halere napr. 200,40 prevest na dveste 0.40 nebo 40 hal. na formatu mi celkem nezalezi, nemel by to byt problem, napada me treba uschovat ten tu cast za des. teckou a pak ji pridat k vystupu, ale nevyznam se ve funkcich VB ani v jeho syntaxi a ucit se to jen pro tohle mi prijde jako ztrata casu poradi nekdo? predem dik Makro jsem zkratil o to co jsem povazoval za nepodstatne pro tu zmenu (doufam ze jen o to) kdyby to bylo potreba cely tak to poslu. ---- Option Explicit Function CisloNaText(ByVal cislo) Dim text As String '________kontroly ________ If cislo > 1000000 Then MsgBox "cislo je vetsi jak Milion" Exit Function 'do milionu End If cislo = Int(cislo) 'Zaokrouhli cislo '_________________________ If cislo >= 1000 And cislo < 5000 Then text = retezec(Int(cislo / 1000) * 1000) cislo = cislo - Int(cislo / 1000) * 1000 ElseIf cislo >= 5000 Then text = TriCisla(Left(Trim(Str(cislo)), Len(Trim(Str(cislo))) - 3)) & "tisíc" cislo = cislo - Val(Left(Trim(Str(cislo)), Len(Trim(Str(cislo))) - 3)) * 1000 End If text = text & TriCisla(cislo) CisloNaText = text End Function Private Function TriCisla(cislo) Dim text As String 'Pro císla od 100 do 999 If cislo > 99 Then text = retezec(Int(cislo / 100) * 100) cislo = cislo - Int(cislo / 100) * 100 End If 'Pro císla do 100 If cislo > 19 Then text = text & retezec(Int(cislo / 10) * 10) & retezec(cislo - Int(cislo / 10) * 10) Else text = text & retezec(cislo) End If TriCisla = text End Function Private Function retezec(cislo) Dim text As String If cislo = 1 Then text = "jedna" ElseIf cislo = 2 Then text = "dvě" ... ElseIf cislo >= 3000 And cislo <= 4000 Then text = retezec(Val(Left(cislo, 1))) & "tisíce" End If retezec = text End Function ---- -- Zdravi Sokol E-mail: sokol01@atlas.cz ICQ #65208171 'We are all immortal until we die' Flitzanu the Silly
This archive was generated by hypermail 2.1.2 : 21. 11. 2002, 22:02 CET