TwojePC.pl © 2001 - 2024
|
|
A R C H I W A L N A W I A D O M O Ś Ć |
|
|
|
pilnie potrzebna pomoc w exelu!! , chris_gd 2/01/05 17:50 wlasnie sobie siostra przypomniala, ze na jutro ma zadanie z informy
wydaje sie banalne ale nigdy tego nie robilem a i z mysleniem ciezko bo wciaz odczuwam 31 grudnia
chodzi o to, ze w np. A1 wpisze 20 a w B1 "wyskoczy" - dwadziescia czyli nic innego jak zwykle przepisywanie (B1=A1 tyle, ze z zamiana cyfr na slowa)Ryzen 7 3700X@4.3GHz/16GB 3000Mhz/
RTX 2060Super@GPU1600/MEM1900
- jest cos takiego jak makro "słownie" , Venom79 2/01/05 18:26
mozna to znalezc w sieci jako makro i jako modul (?) do Excela - jest zawsze po wlaczeniu Excela
poszukaj w google, albo w archiwum - bylo o tym na 100% i to nie razLewy pas to nie kółko różańcowe. - dlugie !!! , Venom79 2/01/05 18:29
ponizej wkleilem zawartosc funkcji slownie - nie moge tego znalezc na dysku jako pliku z funkcja, ale poszukaj w sieci pliku "slownie.xla"
Function SLOWNIE(kwota, Optional jezyk = "POL", Optional waluta = "PLN", Optional oznacz_waluty = 0)
'created by Marcin Kozak, on 01/03/13, all rtights reserved
'definiuje string
'określa czas działania
'''''''''''''
'CZESC POLSKA FUNKCJI
If jezyk = "POL" Or jezyk = "" Or jezyk = "pol" Then
'definiuje string
kwota_str1 = Application.WorksheetFunction.Fixed(kwota, 2, True)
dlugosc = Len(kwota_str1) - 3
kwota_str2 = Left(kwota_str1, dlugosc)
dlugosc = Len(kwota_str2)
'spr ile jest modulow tysiecznych
lpozyc = Application.WorksheetFunction.RoundUp(dlugosc / 3, 0)
'jesli 1szy modul krotszy niz 3 to dodaje na poczatek 0 lub 00
reszta = dlugosc Mod 3
If reszta = 1 Then
kwota_str2 = "00" + kwota_str2
End If
If reszta = 2 Then
kwota_str2 = "0" + kwota_str2
End If
For I = 1 To lpozyc
kwota_str = Mid(kwota_str2, 3 * I - 2, 3)
'sprawdza dlugosc stringu i jesli =3 to setki dziesiatki i jednosci
dlugosc = Len(kwota_str)
If dlugosc = 3 Then
'hundreds
znak = Mid(kwota_str, 1, 1)
If znak = 1 Then
SLOWNIE = SLOWNIE + " sto"
End If
If znak = 2 Then
SLOWNIE = SLOWNIE + " dwieście"
End If
If znak = 3 Then
SLOWNIE = SLOWNIE + " trzysta"
End If
If znak = 4 Then
SLOWNIE = SLOWNIE + " czterysta"
End If
If znak = 5 Then
SLOWNIE = SLOWNIE + " pięćset"
End If
If znak = 6 Then
SLOWNIE = SLOWNIE + " sześćset"
End If
If znak = 7 Then
SLOWNIE = SLOWNIE + " siedemset"
End If
If znak = 8 Then
SLOWNIE = SLOWNIE + " osiemset"
End If
If znak = 9 Then
SLOWNIE = SLOWNIE + " dziewięćset"
End If
'tens
znak = Mid(kwota_str, 2, 1)
znak1 = Mid(kwota_str, 3, 1)
If znak = 1 Then
'teens
If znak1 = 1 Then
SLOWNIE = SLOWNIE + " jedenaście"
End If
If znak1 = 2 Then
SLOWNIE = SLOWNIE + " dwanaście"
End If
If znak1 = 3 Then
SLOWNIE = SLOWNIE + " trzynaście"
End If
If znak1 = 4 Then
SLOWNIE = SLOWNIE + " czternaście"
End If
If znak1 = 5 Then
SLOWNIE = SLOWNIE + " piętnaście"
End If
If znak1 = 6 Then
SLOWNIE = SLOWNIE + " szesnaście"
End If
If znak1 = 7 Then
SLOWNIE = SLOWNIE + " siedemnaście"
End If
If znak1 = 8 Then
SLOWNIE = SLOWNIE + " osiemnaście"
End If
If znak1 = 9 Then
SLOWNIE = SLOWNIE + " dziewiętnaście"
End If
If znak1 = 0 Then
SLOWNIE = SLOWNIE + " dziesięć"
End If
'end teens
Else
If znak = 2 Then
SLOWNIE = SLOWNIE + " dwadzieścia"
End If
If znak = 3 Then
SLOWNIE = SLOWNIE + " trzydzieści"
End If
If znak = 4 Then
SLOWNIE = SLOWNIE + " czterdzieści"
End If
If znak = 5 Then
SLOWNIE = SLOWNIE + " pięćdziesiąt"
End If
If znak = 6 Then
SLOWNIE = SLOWNIE + " sześćdziesiąt"
End If
If znak = 7 Then
SLOWNIE = SLOWNIE + " siedemdziesiąt"
End If
If znak = 8 Then
SLOWNIE = SLOWNIE + " osiemdziesiąt"
End If
If znak = 9 Then
SLOWNIE = SLOWNIE + " dziewięćdziesiąt"
End If
If znak = 0 Then
SLOWNIE = SLOWNIE
End If
End If
'ones
znak = Mid(kwota_str, 3, 1)
If Mid(kwota_str, 2, 1) <> 1 Then
If znak = 1 Then
SLOWNIE = SLOWNIE + " jeden"
End If
If znak = 2 Then
SLOWNIE = SLOWNIE + " dwa"
End If
If znak = 3 Then
SLOWNIE = SLOWNIE + " trzy"
End If
If znak = 4 Then
SLOWNIE = SLOWNIE + " cztery"
End If
If znak = 5 Then
SLOWNIE = SLOWNIE + " pięć"
End If
If znak = 6 Then
SLOWNIE = SLOWNIE + " sześć"
End If
If znak = 7 Then
SLOWNIE = SLOWNIE + " siedem"
End If
If znak = 8 Then
SLOWNIE = SLOWNIE + " osiem"
End If
If znak = 9 Then
SLOWNIE = SLOWNIE + " dziewięć"
End If
Else: SLOWNIE = SLOWNIE
End If
End If
j = lpozyc - I + 1
If j = 2 Then
If kwota_str = 1 Then
SLOWNIE = SLOWNIE + " tysiąc"
End If
If Right(kwota_str, 2) > 1 And Right(kwota_str, 2) < 5 Then
SLOWNIE = SLOWNIE + " tysiące"
End If
If Right(kwota_str, 2) > 4 Then
SLOWNIE = SLOWNIE + " tysięcy"
End If
If Right(kwota_str, 2) = 1 And kwota_str > 9 Then
SLOWNIE = SLOWNIE + " tysięcy"
End If
If Right(kwota_str, 2) = 0 Then
SLOWNIE = SLOWNIE + " tysięcy"
End If
End If
If j = 3 Then
If kwota_str = 1 Then
SLOWNIE = SLOWNIE + " milion"
End If
If Right(kwota_str, 1) > 1 And Right(kwota_str, 1) < 5 Then
SLOWNIE = SLOWNIE + " miliony"
End If
If Right(kwota_str, 1) > 4 Then
SLOWNIE = SLOWNIE + " milionów"
End If
If Right(kwota_str, 1) = 1 And kwota_str > 9 Then
SLOWNIE = SLOWNIE + " milionów"
End If
End If
If j = 4 Then
If kwota_str = 1 Then
SLOWNIE = SLOWNIE + " miliard"
End If
If Right(kwota_str, 1) > 1 And Right(kwota_str, 1) < 5 Then
SLOWNIE = SLOWNIE + " miliardy"
End If
If Right(kwota_str, 1) > 4 Then
SLOWNIE = SLOWNIE + " miliardów"
End If
If Right(kwota_str, 1) = 1 And kwota_str > 9 Then
SLOWNIE = SLOWNIE + " miliardów"
End If
End If
If j > 2 Then
SLOWNIE = "za duża kwota dla tej wersji funkcji"
Exit Function
End If
Next I
If kwota_str2 = 0 Then
SLOWNIE = " zero"
End If
' currency
kwota_str3 = Val(kwota_str2)
waluta = " " + waluta
If waluta = " złoty" Or waluta = " ZŁOTY" Then
If kwota_str3 = 1 Then
waluta = " złoty"
End If
If kwota_str3 > 4 Then
waluta = " złotych"
End If
If Right(kwota_str3, 1) > 1 And Right(kwota_str3, 1) < 5 Then
waluta = " złote"
End If
If kwota_str3 > 11 And kwota_str3 < 20 Then
waluta = " złotych"
End If
End If
If waluta = " marka" Or waluta = " MARKA" Then
If kwota_str3 = 1 Then
waluta = " marka"
End If
If kwota_str3 > 4 Then
waluta = " marek"
End If
If Right(kwota_str3, 1) > 1 And Right(kwota_str3, 1) < 5 Then
waluta = " marki"
End If
If kwota_str3 > 11 And kwota_str3 < 20 Then
waluta = " marek"
End If
End If
If waluta = " dolar" Or waluta = " DOLAR" Then
If kwota_str3 = 1 Then
waluta = " dolar"
End If
If kwota_str3 > 4 Then
waluta = " dolarów"
End If
If Right(kwota_str3, 1) > 1 And Right(kwota_str3, 1) < 5 Then
waluta = " dolary"
End If
If kwota_str3 > 11 And kwota_str3 < 20 Then
waluta = " dolarów"
End If
End If
If waluta = " funt" Or waluta = " FUNT" Then
If kwota_str3 = 1 Then
waluta = " funt"
End If
If kwota_str3 > 4 Then
waluta = " funtów"
End If
If Right(kwota_str3, 1) > 1 And Right(kwota_str3, 1) < 5 Then
waluta = " funty"
End If
If kwota_str3 > 11 And kwota_str3 < 20 Then
waluta = " funtów"
End If
End If
If waluta = " frank" Or waluta = " FRANK" Then
If kwota_str3 = 1 Then
waluta = " frank"
End If
If kwota_str3 > 4 Then
waluta = " franków"
End If
If Right(kwota_str3, 1) > 1 And Right(kwota_str3, 1) < 5 Then
waluta = " franki"
End If
If kwota_str3 > 11 And kwota_str3 < 20 Then
waluta = " franków"
End If
End If
If Right(kwota_str1, 2) = 0 Then
SLOWNIE = SLOWNIE + waluta
Else
SLOWNIE = SLOWNIE + waluta + ", " + Right(kwota_str1, 2) + "/100"
End If
SLOWNIE = Trim(SLOWNIE)
End If
''''''''''''''
'CZESC ANGIELSKA FUNKCJI
If jezyk = "ENG" Or jezyk = "eng" Then
kwota_str1 = Application.WorksheetFunction.Fixed(kwota, 2, True)
dlugosc = Len(kwota_str1) - 3
kwota_str2 = Left(kwota_str1, dlugosc)
dlugosc = Len(kwota_str2)
'spr ile jest modulow tysiecznych
lpozyc = Application.WorksheetFunction.RoundUp(dlugosc / 3, 0)
'jesli 1szy modul krotszy niz 3 to dodaje na poczatek 0 lub 00
reszta = dlugosc Mod 3
If reszta = 1 Then
kwota_str2 = "00" + kwota_str2
End If
If reszta = 2 Then
kwota_str2 = "0" + kwota_str2
End If
For I = 1 To lpozyc
kwota_str = Mid(kwota_str2, 3 * I - 2, 3)
'sprawdza dlugosc stringu i jesli =3 to setki dziesiatki i jednosci
dlugosc = Len(kwota_str)
If dlugosc = 3 Then
'hundreds
znak = Mid(kwota_str, 1, 1)
If znak = 1 Then
SLOWNIE = SLOWNIE + " one hundred"
End If
If znak = 2 Then
SLOWNIE = SLOWNIE + " two hundred"
End If
If znak = 3 Then
SLOWNIE = SLOWNIE + " three hundred"
End If
If znak = 4 Then
SLOWNIE = SLOWNIE + " four hundred"
End If
If znak = 5 Then
SLOWNIE = SLOWNIE + " five hundred"
End If
If znak = 6 Then
SLOWNIE = SLOWNIE + " six hundred"
End If
If znak = 7 Then
SLOWNIE = SLOWNIE + " seven hundred"
End If
If znak = 8 Then
SLOWNIE = SLOWNIE + " eight hundred"
End If
If znak = 9 Then
SLOWNIE = SLOWNIE + " nine hundred"
End If
'tens
znak = Mid(kwota_str, 2, 1)
znak1 = Mid(kwota_str, 3, 1)
If znak = 1 Then
'teens
If znak1 = 1 Then
SLOWNIE = SLOWNIE + " eleven"
End If
If znak1 = 2 Then
SLOWNIE = SLOWNIE + " twelve"
End If
If znak1 = 3 Then
SLOWNIE = SLOWNIE + " thirteen"
End If
If znak1 = 4 Then
SLOWNIE = SLOWNIE + " fourteen"
End If
If znak1 = 5 Then
SLOWNIE = SLOWNIE + " fifteen"
End If
If znak1 = 6 Then
SLOWNIE = SLOWNIE + " sixteen"
End If
If znak1 = 7 Then
SLOWNIE = SLOWNIE + " seventeen"
End If
If znak1 = 8 Then
SLOWNIE = SLOWNIE + " eighteen"
End If
If znak1 = 9 Then
SLOWNIE = SLOWNIE + " nineteen"
End If
If znak1 = 0 Then
SLOWNIE = SLOWNIE + " ten"
End If
'end teens
Else
If znak = 2 Then
SLOWNIE = SLOWNIE + " twenty"
End If
If znak = 3 Then
SLOWNIE = SLOWNIE + " thirty"
End If
If znak = 4 Then
SLOWNIE = SLOWNIE + " fourty"
End If
If znak = 5 Then
SLOWNIE = SLOWNIE + " fifty"
End If
If znak = 6 Then
SLOWNIE = SLOWNIE + " sixty"
End If
If znak = 7 Then
SLOWNIE = SLOWNIE + " seventy"
End If
If znak = 8 Then
SLOWNIE = SLOWNIE + " eighty"
End If
If znak = 9 Then
SLOWNIE = SLOWNIE + " ninety"
End If
If znak = 0 Then
SLOWNIE = SLOWNIE
End If
End If
'ones
znak = Mid(kwota_str, 3, 1)
If Mid(kwota_str, 2, 1) <> 1 Then
If znak = 1 Then
SLOWNIE = SLOWNIE + " one"
End If
If znak = 2 Then
SLOWNIE = SLOWNIE + " two"
End If
If znak = 3 Then
SLOWNIE = SLOWNIE + " three"
End If
If znak = 4 Then
SLOWNIE = SLOWNIE + " four"
End If
If znak = 5 Then
SLOWNIE = SLOWNIE + " five"
End If
If znak = 6 Then
SLOWNIE = SLOWNIE + " six"
End If
If znak = 7 Then
SLOWNIE = SLOWNIE + " seven"
End If
If znak = 8 Then
SLOWNIE = SLOWNIE + " eight"
End If
If znak = 9 Then
SLOWNIE = SLOWNIE + " nine"
End If
Else: SLOWNIE = SLOWNIE
End If
End If
j = lpozyc - I + 1
If j = 2 Then
SLOWNIE = SLOWNIE + " thousand"
End If
If j = 3 Then
SLOWNIE = SLOWNIE + " million"
End If
If j = 4 Then
SLOWNIE = SLOWNIE + " milliard"
End If
If j > 4 Then
SLOWNIE = "za duża kwota"
Exit Function
End If
Next I
If kwota_str2 = 0 Then
SLOWNIE = " zero"
End If
' currency
If waluta <> "" And oznacz_waluty = 1 And kwota_str = 0 Then
waluta = " " + waluta + "s"
End If
If waluta <> "" And oznacz_waluty = 1 And kwota_str > 1 Then
waluta = " " + waluta + "s"
End If
If waluta <> "" And oznacz_waluty = 1 And kwota_str = 1 Then
waluta = " " + waluta
End If
If waluta <> "" And oznacz_waluty <> 1 Then
waluta = " " + waluta
End If
'pln
If waluta <> "" And oznacz_waluty = 1 And Right(waluta, 2) = "ys" And kwota_str > 1 Then
waluta = Mid(waluta, 1, Len(waluta) - 2) + "ies"
End If
If waluta <> "" And oznacz_waluty = 1 And Right(waluta, 2) = "ys" And kwota_str = 0 Then
waluta = Mid(waluta, 1, Len(waluta) - 2) + "ies"
End If
If Right(kwota_str1, 2) = 0 Then
SLOWNIE = SLOWNIE + waluta
Else
SLOWNIE = SLOWNIE + waluta + ", " + Right(kwota_str1, 2) + "/100"
End If
SLOWNIE = Trim(SLOWNIE)
End If
End FunctionLewy pas to nie kółko różańcowe. - to samo co przedpiścy +sznurek , szpieg Szoguna 2/01/05 18:46
http://excel.republika.pl/dopobrania/slownie.htm
Wydaje mi się, że osoba zlecające to zadanie sama nie wie jak je rozwiązaćpiwo ... hmmm - to pewnie się pije :) - tez tak mysle, dla mnie to paranoja aby w 1 klasie LO dawac , chris_gd 2/01/05 19:24
takie zadaniaRyzen 7 3700X@4.3GHz/16GB 3000Mhz/
RTX 2060Super@GPU1600/MEM1900
- big thx , chris_gd 2/01/05 19:21
pozdr. for allRyzen 7 3700X@4.3GHz/16GB 3000Mhz/
RTX 2060Super@GPU1600/MEM1900
- zaznaczam , Amorr 2/01/05 22:32
przyda sie moze :)...:z natury rzeczy tylko zioło leczy:... |
|
|
|
|
All rights reserved ® Copyright and Design 2001-2024, TwojePC.PL |
|
|
|
|