Jeigu yra būdas padaryti geriau, atrask jį. T. A. Edison

Sveiki, Svečias
Prisijungimo vardas: Slaptažodis: Prisiminti mane

TEMA: Skaičių rašymas žodžiu

Skaičių rašymas žodžiu prieš 6 m. 6 mėn. #1

  • Minmak
  • Minmak avataras
  • Neprisijungęs
  • Naujokas
  • Žinutės: 1
  • Gauta padėka 1
  • Reputacija: 0
Sveiki, kaip parasyti, pvz saskaita, kad nurodyta suma parasytu žod-iais. Anksciau prisimenu kazkaip per MyEu ar kazkas panasaus buvo. Neprisimenu kaip tai pasidaryti. Todel ir prasau pagalbos. Aciu
Administratorius uždraudė viešą pranešimų rašymą.
Jums padėkojo šie nariai: coste

Skaičių rašymas žodžiu prieš 6 m. 6 mėn. #2

  • dll
  • dll avataras
  • Neprisijungęs
  • Moderatorius
  • Žinutės: 194
  • Gauta padėka 47
  • Reputacija: 20
Sveiki. MyEU man atrodo, kad kažkur dingęs, bent jau akyse neteko matyti, tačiau sumą žodžiais galima pasidaryti ir kitais būdais. Nežinau, kiek pažįstat VBA, tačiau parašysiu vieną iš būdų:
1) Atsidarote excel failą, ir jį išsaugote .xlsm formatu (Enabled Macro arba Excel makrokomandų darbaknygė)
2) faile spaudžiate ALT+F11 (atidaromas VBE)
3) Atsidariusiame VBE lange viršuje pasirinkite komandą Insert -> Module
4) Nukopijuokite žemiau esantį tekstą ir įklijuokite į baltą lapą įterptame Module1 (galima naudoti tiesiog CTRL+C ir CTRL+V). Kopijuojamas tekstas:

Function Suma_zodziais(NumberArg As Double, Optional intCase As Integer = 0) As String
Dim strSuma As String
Dim strMilijonai As String
Dim strTukstanciai As String
Dim strSimtai As String
Dim m1 As String
Dim m2 As String
Dim t1 As String
Dim t2 As String
Dim r1 As String
Dim r2 As String
Dim v As String
Dim d As String
Dim strRezultatas As String
strSuma = Format(NumberArg, "000,000,000.00")
strMilijonai = Mid(strSuma, 1, 3)
strTukstanciai = Mid(strSuma, 5, 3)
strSimtai = Mid(strSuma, 9, 3)
If NumberArg < 1 Then
strRezultatas = "NULIS LITŲ "
GoTo pabaiga
End If
If strMilijonai <> "000" Then
m1 = TrysSkaitmenys(strMilijonai)
d = Mid(strMilijonai, 2, 1)
v = Right(strMilijonai, 1)
Select Case d
Case "1"
m2 = "MILIJONŲ "
Case Else
Select Case v
Case "0"
m2 = "MILIJONŲ "
Case "1"
m2 = "MILIJONAS "
Case Else
m2 = "MILIJONAI "
End Select
End Select
End If
If strTukstanciai <> "000" Then
t1 = TrysSkaitmenys(strTukstanciai)
d = Mid(strTukstanciai, 2, 1)
v = Right(strTukstanciai, 1)
Select Case d
Case "1"
t2 = "TŪKSTANČIŲ "
Case Else
Select Case v
Case "0"
t2 = "TŪKSTANČIŲ "
Case "1"
t2 = "TŪKSTANTIS "
Case Else
t2 = "TŪKSTANČIAI "
End Select
End Select
End If
r1 = TrysSkaitmenys(strSimtai)
d = Mid(strSimtai, 2, 1)
v = Right(strSimtai, 1)
Select Case d
Case "1"
r2 = "LITŲ "
Case Else
Select Case v
Case "0"
r2 = "LITŲ "
Case "1"
r2 = "LITAS "
Case Else
r2 = "LITAI "
End Select
End Select
strRezultatas = m1 + m2 + t1 + t2 + r1 + r2 + " "
pabaiga:
Select Case intCase
Case 0
Suma_zodziais = UCase(Left(strRezultatas, 1)) + LCase(Mid(strRezultatas, 2)) + Right(strSuma, 2) + " ct"
Case 1
Suma_zodziais = UCase(strRezultatas + Right(strSuma, 2) + " ct")
Case 2
Suma_zodziais = LCase(strRezultatas + Right(strSuma, 2) + " ct")
End Select
End Function
Private Function TrysSkaitmenys(strNum3 As String) As String
Dim s1 As String * 1 'šimtai
Dim d1 As String * 1 'dešimtys
Dim d2 As String * 2 'dešimtys ir vienetai
Dim v1 As String * 1 'vienetai
Dim s3 As String
Dim v3 As String
s1 = Left(strNum3, 1)
d1 = Mid(strNum3, 2, 1)
d2 = Mid(strNum3, 2, 2)
v1 = Right(strNum3, 1)
Select Case s1
Case "1"
s3 = "VIENAS ŠIMTAS "
Case "2"
s3 = "DU ŠIMTAI "
Case "3"
s3 = "TRYS ŠIMTAI "
Case "4"
s3 = "KETURI ŠIMTAI "
Case "5"
s3 = "PENKI ŠIMTAI "
Case "6"
s3 = "ŠEŠI ŠIMTAI "
Case "7"
s3 = "SEPTYNI ŠIMTAI "
Case "8"
s3 = "AŠTUONI ŠIMTAI "
Case "9"
s3 = "DEVYNI ŠIMTAI "
End Select
Select Case d1
Case "1"
Select Case d2
Case "10"
d3 = "DEŠIMT "
Case "11"
d3 = "VIENUOLIKA "
Case "12"
d3 = "DVYLIKA "
Case "13"
d3 = "TRYLIKA "
Case "14"
d3 = "KETURIOLIKA "
Case "15"
d3 = "PENKIOLIKA "
Case "16"
d3 = "ŠEŠIOLIKA "
Case "17"
d3 = "SEPTYNIOLIKA "
Case "18"
d3 = "AŠTUONIOLIKA "
Case "19"
d3 = "DEVYNIOLIKA "
End Select
Case "2"
d3 = "DVIDEŠIMT "
Case "3"
d3 = "TRISDEŠIMT "
Case "4"
d3 = "KETURIASDEŠIMT "
Case "5"
d3 = "PENKIASDEŠIMT "
Case "6"
d3 = "ŠEŠIASDEŠIMT "
Case "7"
d3 = "SEPTYNIASDEŠIMT "
Case "8"
d3 = "AŠTUONIASDEŠIMT "
Case "9"
d3 = "DEVYNIASDEŠIMT "
End Select
If d1 <> "1" Then
Select Case v1
Case "1"
v3 = "VIENAS "
Case "2"
v3 = "DU "
Case "3"
v3 = "TRYS "
Case "4"
v3 = "KETURI "
Case "5"
v3 = "PENKI "
Case "6"
v3 = "ŠEŠI "
Case "7"
v3 = "SEPTYNI "
Case "8"
v3 = "AŠTUONI "
Case "9"
v3 = "DEVYNI "
End Select
End If
TrysSkaitmenys = s3 + d3 + v3
End Function

5) Belieka išsaugoti ir uždaryti
6) Einame į langelį, kur reikalinga gauti sumą žodžiais ir rašome =suma_zodziais(A1), A1 kaip pavyzdys, jame turėtų būti skaičius, kurį norėsi paversti žodžiais.


Suma_zodziais.jpg



Kodą pasiskolinęs esu iš kažkur, bet klaidų neturėtų būti, jis lyg ir iš rimtos kažkokios knygos :) Sėkmės, jei ką - kreipkis.
Administratorius uždraudė viešą pranešimų rašymą.
Jums padėkojo šie nariai: seilor, coste

Skaičių rašymas žodžiu prieš 6 m. 6 mėn. #3

  • ups
  • ups avataras
  • Neprisijungęs
  • Veteranas
  • Žinutės: 67
  • Gauta padėka 24
  • Reputacija: 9
Jei nematėte ar pasigedote MyEU funkcijų, tai galima apžiūrėti pasiėmus(Add-Ins formate) iš čia:
www.failai.lt/kr70ixs89ad5/MyEU.xla.htm
Formulių pavyzdžiai čia:
www.failai.lt/5jjlbt8ycpe2/Formuli%C5%B3_su_MyEU_pavyzd%C5%BEiai.pdf.htm
Funkcija skaičius verčia į žodines reikšmes trijose kalbose:lietuvių,rusų,anglų.
Taip pat datos įvairiais formatais trimis kalbomis.
Paskutinis taisymas: prieš 6 m. 6 mėn. nuo ups.
Administratorius uždraudė viešą pranešimų rašymą.

Skaičių rašymas žodžiu prieš 6 m. 6 mėn. #4

  • dll
  • dll avataras
  • Neprisijungęs
  • Moderatorius
  • Žinutės: 194
  • Gauta padėka 47
  • Reputacija: 20
Antroji nuoroda neveikia, rašo: "Nėra failo su tokiu failo vardu."
Administratorius uždraudė viešą pranešimų rašymą.

Skaičių rašymas žodžiu prieš 6 m. 6 mėn. #5

  • ups
  • ups avataras
  • Neprisijungęs
  • Veteranas
  • Žinutės: 67
  • Gauta padėka 24
  • Reputacija: 9
Netiesa-ką tik pabandžiau.Goole Chrome naršyklėje nuorodos veikia puikiausiai.
O IE naršyklėje_tiesa-antra nuoroda neveikia.Kame reikalas?
Pabandžiau pataisyti ir perkrauti nuorodą-tas pats.Ar ne šio puslapio(excel.lt) bugas?
www.failai.lt/5jjlbt8ycpe2/Formuli%C5%B3_su_MyEU_pavyzd%C5%BEiai.pdf.htm
Viduryje nuorodos daugtaškis(......) ,nors įdedamoje nuorodoje jo nėra.
Tokiame formate su (.......) Google Chrome nuoroda veikia,o IE neveikia ir meta užrašą,kad tokio failo nėra.
tikroji nuoroda : www.failai_lt/5jjlbt8ycpe2/Formuli%C5%B3_su_MyEU_pavyzd%C5%BEiai_pdf_htm
vietoje pirmo ir dviejų paskutinių žemutinių brukšnelių( _ ) turi būti taškas ( . )
_______________________
O čia nepavyksta įkelti *pdf formato failo :(
Paskutinis taisymas: prieš 6 m. 6 mėn. nuo ups.
Administratorius uždraudė viešą pranešimų rašymą.

Skaičių rašymas žodžiu prieš 6 m. 6 mėn. #6

  • dll
  • dll avataras
  • Neprisijungęs
  • Moderatorius
  • Žinutės: 194
  • Gauta padėka 47
  • Reputacija: 20
Greičiausiai standartinai forumo nustatymai trumpina nuorodą su daugtaškiu "....", teks pasižvalgyti. Ačiū už pastebėjimą, PDF failus įkelti jau turėtų būti galima, tad jei nesunku, būtų puiku, kad permestum. Ačiū :)

Papildymas: nuorodos nebetrumpinamos, išbandyta - veikia :)
Paskutinis taisymas: prieš 6 m. 6 mėn. nuo dll.
Administratorius uždraudė viešą pranešimų rašymą.
Puslapio sukūrimo laikas: 0.336 sekundžių