Przesunięty przez: master_mix 29-12-2010, 12:42 |
22. Kwoty słownie |
Autor |
Wiadomo¶ć |
Trebor
Excel Expert

Posty: 4680
|
Wysłany: 23-09-2009, 17:23
|
|
|
Z mojego do¶wiadczenia wynika, że lepszym pomysłem jest Application.International(xlDecimalSeparator).
Także ewentualn± zmianę separatora sugeruję raczej w systemie niż w aplikacji.
Pozdrawiam |
_________________ Trebbor@wp.pl |
|
 | ID posta:
72967
|
|
|
 |
|
|
|
J_B
Excel Expert

Wersja: Win Office 2016
Posty: 1529
|
Wysłany: 23-09-2009, 18:28
|
|
|
Witam
Moim skromnum zdaniem nie ma potrzeby
przejmowac się separatorem
Proponuję takie rozwi±zanie
Kod: |
Sub ZloteGrosze()
Dim Kwota, Zlote, Grosze
Kwota = ActiveCell
Zlote = Fix(Kwota)
Grosze = Fix(CInt((Kwota - Zlote) * 100))
MsgBox Zlote & " " & Grosze
End Sub
|
Janusz |
|
 | ID posta:
72970
|
|
|
 |
|
|
Raf1983
ExcelSpec

Posty: 151
|
Wysłany: 03-12-2010, 23:31
|
|
|
Uuu... widzę, że w±tek nie był dawno dotykany - czas na od¶wieżenie ;P
A serio - zał±czam SŁOWNIE własnej roboty.
Jako że ani trochę nie znam VBA, kolejny przykład jak można to załatwić formułami...
w mojej propozycji mocno "skoncentrowanymi" ;]
Zrobione w Excelu 2007 - nie wiem jak to się zachowuje w starszych wersjach
ale obawiam się, że może być problem...
Arkusz obsługuje kwoty ujemne oraz dodatnie z przedziału:
<-999999999999999,00;999999999999999,00>
Jako że głównym zastosowaniem tego typu arkuszy jest fakturowanie -
życzę każdemu, żeby wystawiał faktury sprzedażowe
wykorzystuj±ce cały zakres obsługiwanych kwot ;D
Pozdrawiam! ;]
Rafał
Raf1983_slownie.zip
|
Pobierz Plik ¶ci±gnięto 1558 raz(y) 11.14 KB |
|
|
 | ID posta:
101560
|
|
|
 |
|
|
bodek

Wersja: Win Office 2019
Posty: 3191
|
Wysłany: 13-12-2010, 19:46
|
|
|
Dla podgladaczy formułek na starszej niż Ex2007 wersji, w kom A10 mamy
Kod: | =JEŻELI(LUB(JEŻELI((ZNAJD¬(",";LICZBA&",";1)-1)<(JEŻELI(LICZBA<0;16;15));"";WARTO¦Ć(FRAGMENT.TEKSTU(LICZBA;(ZNAJD¬(",";LICZBA&",";1)-1)-14;1)))="";JEŻELI((ZNAJD¬(",";LICZBA&",";1)-1)<(JEŻELI(LICZBA<0;16;15));"";WARTO¦Ć(FRAGMENT.TEKSTU(LICZBA;(ZNAJD¬(",";LICZBA&",";1)-1)-14;1)))=0);"";WYSZUKAJ.PIONOWO(JEŻELI((ZNAJD¬(",";LICZBA&",";1)-1)<(JEŻELI(LICZBA<0;16;15));"";WARTO¦Ć(FRAGMENT.TEKSTU(LICZBA;(ZNAJD¬(",";LICZBA&",";1)-1)-14;1)));$A1:$B9;2;0))&" "&JEŻELI(LUB(JEŻELI((ZNAJD¬(",";LICZBA&",";1)-1)<(JEŻELI(LICZBA<0;15;14));"";WARTO¦Ć(FRAGMENT.TEKSTU(LICZBA;(ZNAJD¬(",";LICZBA&",";1)-1)-13;1)))="";JEŻELI((ZNAJD¬(",";LICZBA&",";1)-1)<(JEŻELI(LICZBA<0;15;14));"";WARTO¦Ć(FRAGMENT.TEKSTU(LICZBA;(ZNAJD¬(",";LICZBA&",";1)-1)-13;1)))=0);"";JEŻELI(LUB(JEŻELI((ZNAJD¬(",";LICZBA&",";1)-1)<(JEŻELI(LICZBA<0;14;13));"";WARTO¦Ć(FRAGMENT.TEKSTU(LICZBA;(ZNAJD¬(",";LICZBA&",";1)-1)-12;1)))=0;JEŻELI((ZNAJD¬(",";LICZBA&",";1)-1)<(JEŻELI(LICZBA<0;15;14));"";WARTO¦Ć(FRAGMENT.TEKSTU(LICZBA;(ZNAJD¬(",";LICZBA&",";1)-1)-13;1)))<>1);WYSZUKAJ.PIONOWO(JEŻELI((ZNAJD¬(",";LICZBA&",";1)-1)<(JEŻELI(LICZBA<0;15;14));"";WARTO¦Ć(FRAGMENT.TEKSTU(LICZBA;(ZNAJD¬(",";LICZBA&",";1)-1)-13;1)));$E1:$F9;2;0);WYSZUKAJ.PIONOWO(JEŻELI((ZNAJD¬(",";LICZBA&",";1)-1)<(JEŻELI(LICZBA<0;14;13));"";WARTO¦Ć(FRAGMENT.TEKSTU(LICZBA;(ZNAJD¬(",";LICZBA&",";1)-1)-12;1)));$I1:$J9;2;0)))&" "&JEŻELI(LUB(JEŻELI((ZNAJD¬(",";LICZBA&",";1)-1)<(JEŻELI(LICZBA<0;14;13));"";WARTO¦Ć(FRAGMENT.TEKSTU(LICZBA;(ZNAJD¬(",";LICZBA&",";1)-1)-12;1)))="";JEŻELI((ZNAJD¬(",";LICZBA&",";1)-1)<(JEŻELI(LICZBA<0;14;13));"";WARTO¦Ć(FRAGMENT.TEKSTU(LICZBA;(ZNAJD¬(",";LICZBA&",";1)-1)-12;1)))=0;ORAZ(JEŻELI((ZNAJD¬(",";LICZBA&",";1)-1)<(JEŻELI(LICZBA<0;15;14));"";WARTO¦Ć(FRAGMENT.TEKSTU(LICZBA;(ZNAJD¬(",";LICZBA&",";1)-1)-13;1)))=1;JEŻELI((ZNAJD¬(",";LICZBA&",";1)-1)<(JEŻELI(LICZBA<0;14;13));"";WARTO¦Ć(FRAGMENT.TEKSTU(LICZBA;(ZNAJD¬(",";LICZBA&",";1)-1)-12;1)))<>0));"";WYSZUKAJ.PIONOWO(JEŻELI((ZNAJD¬(",";LICZBA&",";1)-1)<(JEŻELI(LICZBA<0;14;13));"";WARTO¦Ć(FRAGMENT.TEKSTU(LICZBA;(ZNAJD¬(",";LICZBA&",";1)-1)-12;1)));$M1:$N9;2;0)) | prawda jakie ładne i czytelne a potem dla B10 jeszcze łatwiejsza
Kod: | =JEŻELI(LUB(JEŻELI(JEŻELI((ZNAJD¬(",";LICZBA&",";1)-1)<(JEŻELI(LICZBA<0;14;13));"";WARTO¦Ć(FRAGMENT.TEKSTU(LICZBA;(ZNAJD¬(",";LICZBA&",";1)-1)-12;1)))="";"";WARTO¦Ć(JEŻELI((ZNAJD¬(",";LICZBA&",";1)-1)<(JEŻELI(LICZBA<0;16;15));"";WARTO¦Ć(FRAGMENT.TEKSTU(LICZBA;(ZNAJD¬(",";LICZBA&",";1)-1)-14;1)))&JEŻELI((ZNAJD¬(",";LICZBA&",";1)-1)<(JEŻELI(LICZBA<0;15;14));"";WARTO¦Ć(FRAGMENT.TEKSTU(LICZBA;(ZNAJD¬(",";LICZBA&",";1)-1)-13;1)))&JEŻELI((ZNAJD¬(",";LICZBA&",";1)-1)<(JEŻELI(LICZBA<0;14;13));"";WARTO¦Ć(FRAGMENT.TEKSTU(LICZBA;(ZNAJD¬(",";LICZBA&",";1)-1)-12;1)))))="";JEŻELI(JEŻELI((ZNAJD¬(",";LICZBA&",";1)-1)<(JEŻELI(LICZBA<0;14;13));"";WARTO¦Ć(FRAGMENT.TEKSTU(LICZBA;(ZNAJD¬(",";LICZBA&",";1)-1)-12;1)))="";"";WARTO¦Ć(JEŻELI((ZNAJD¬(",";LICZBA&",";1)-1)<(JEŻELI(LICZBA<0;16;15));"";WARTO¦Ć(FRAGMENT.TEKSTU(LICZBA;(ZNAJD¬(",";LICZBA&",";1)-1)-14;1)))&JEŻELI((ZNAJD¬(",";LICZBA&",";1)-1)<(JEŻELI(LICZBA<0;15;14));"";WARTO¦Ć(FRAGMENT.TEKSTU(LICZBA;(ZNAJD¬(",";LICZBA&",";1)-1)-13;1)))&JEŻELI((ZNAJD¬(",";LICZBA&",";1)-1)<(JEŻELI(LICZBA<0;14;13));"";WARTO¦Ć(FRAGMENT.TEKSTU(LICZBA;(ZNAJD¬(",";LICZBA&",";1)-1)-12;1)))))=0);"";JEŻELI(JEŻELI(JEŻELI((ZNAJD¬(",";LICZBA&",";1)-1)<(JEŻELI(LICZBA<0;14;13));"";WARTO¦Ć(FRAGMENT.TEKSTU(LICZBA;(ZNAJD¬(",";LICZBA&",";1)-1)-12;1)))="";"";WARTO¦Ć(JEŻELI((ZNAJD¬(",";LICZBA&",";1)-1)<(JEŻELI(LICZBA<0;16;15));"";WARTO¦Ć(FRAGMENT.TEKSTU(LICZBA;(ZNAJD¬(",";LICZBA&",";1)-1)-14;1)))&JEŻELI((ZNAJD¬(",";LICZBA&",";1)-1)<(JEŻELI(LICZBA<0;15;14));"";WARTO¦Ć(FRAGMENT.TEKSTU(LICZBA;(ZNAJD¬(",";LICZBA&",";1)-1)-13;1)))&JEŻELI((ZNAJD¬(",";LICZBA&",";1)-1)<(JEŻELI(LICZBA<0;14;13));"";WARTO¦Ć(FRAGMENT.TEKSTU(LICZBA;(ZNAJD¬(",";LICZBA&",";1)-1)-12;1)))))=1;"bilion";"")&JEŻELI(LUB(JEŻELI(JEŻELI((ZNAJD¬(",";LICZBA&",";1)-1)<(JEŻELI(LICZBA<0;14;13));"";WARTO¦Ć(FRAGMENT.TEKSTU(LICZBA;(ZNAJD¬(",";LICZBA&",";1)-1)-12;1)))="";"";WARTO¦Ć(JEŻELI((ZNAJD¬(",";LICZBA&",";1)-1)<(JEŻELI(LICZBA<0;16;15));"";WARTO¦Ć(FRAGMENT.TEKSTU(LICZBA;(ZNAJD¬(",";LICZBA&",";1)-1)-14;1)))&JEŻELI((ZNAJD¬(",";LICZBA&",";1)-1)<(JEŻELI(LICZBA<0;15;14));"";WARTO¦Ć(FRAGMENT.TEKSTU(LICZBA;(ZNAJD¬(",";LICZBA&",";1)-1)-13;1)))&JEŻELI((ZNAJD¬(",";LICZBA&",";1)-1)<(JEŻELI(LICZBA<0;14;13));"";WARTO¦Ć(FRAGMENT.TEKSTU(LICZBA;(ZNAJD¬(",";LICZBA&",";1)-1)-12;1)))))="";JEŻELI(JEŻELI(JEŻELI((ZNAJD¬(",";LICZBA&",";1)-1)<(JEŻELI(LICZBA<0;14;13));"";WARTO¦Ć(FRAGMENT.TEKSTU(LICZBA;(ZNAJD¬(",";LICZBA&",";1)-1)-12;1)))="";"";WARTO¦Ć(JEŻELI((ZNAJD¬(",";LICZBA&",";1)-1)<(JEŻELI(LICZBA<0;16;15));"";WARTO¦Ć(FRAGMENT.TEKSTU(LICZBA;(ZNAJD¬(",";LICZBA&",";1)-1)-14;1)))&JEŻELI((ZNAJD¬(",";LICZBA&",";1)-1)<(JEŻELI(LICZBA<0;15;14));"";WARTO¦Ć(FRAGMENT.TEKSTU(LICZBA;(ZNAJD¬(",";LICZBA&",";1)-1)-13;1)))&JEŻELI((ZNAJD¬(",";LICZBA&",";1)-1)<(JEŻELI(LICZBA<0;14;13));"";WARTO¦Ć(FRAGMENT.TEKSTU(LICZBA;(ZNAJD¬(",";LICZBA&",";1)-1)-12;1)))))=1;"bilion";"")=1);"";JEŻELI(ORAZ(LUB(JEŻELI((ZNAJD¬(",";LICZBA&",";1)-1)<(JEŻELI(LICZBA<0;14;13));"";WARTO¦Ć(FRAGMENT.TEKSTU(LICZBA;(ZNAJD¬(",";LICZBA&",";1)-1)-12;1)))=2;JEŻELI((ZNAJD¬(",";LICZBA&",";1)-1)<(JEŻELI(LICZBA<0;14;13));"";WARTO¦Ć(FRAGMENT.TEKSTU(LICZBA;(ZNAJD¬(",";LICZBA&",";1)-1)-12;1)))=3;JEŻELI((ZNAJD¬(",";LICZBA&",";1)-1)<(JEŻELI(LICZBA<0;14;13));"";WARTO¦Ć(FRAGMENT.TEKSTU(LICZBA;(ZNAJD¬(",";LICZBA&",";1)-1)-12;1)))=4);JEŻELI((ZNAJD¬(",";LICZBA&",";1)-1)<(JEŻELI(LICZBA<0;15;14));"";WARTO¦Ć(FRAGMENT.TEKSTU(LICZBA;(ZNAJD¬(",";LICZBA&",";1)-1)-13;1)))<>1);"biliony";""))&JEŻELI(LUB(JEŻELI(JEŻELI((ZNAJD¬(",";LICZBA&",";1)-1)<(JEŻELI(LICZBA<0;14;13));"";WARTO¦Ć(FRAGMENT.TEKSTU(LICZBA;(ZNAJD¬(",";LICZBA&",";1)-1)-12;1)))="";"";WARTO¦Ć(JEŻELI((ZNAJD¬(",";LICZBA&",";1)-1)<(JEŻELI(LICZBA<0;16;15));"";WARTO¦Ć(FRAGMENT.TEKSTU(LICZBA;(ZNAJD¬(",";LICZBA&",";1)-1)-14;1)))&JEŻELI((ZNAJD¬(",";LICZBA&",";1)-1)<(JEŻELI(LICZBA<0;15;14));"";WARTO¦Ć(FRAGMENT.TEKSTU(LICZBA;(ZNAJD¬(",";LICZBA&",";1)-1)-13;1)))&JEŻELI((ZNAJD¬(",";LICZBA&",";1)-1)<(JEŻELI(LICZBA<0;14;13));"";WARTO¦Ć(FRAGMENT.TEKSTU(LICZBA;(ZNAJD¬(",";LICZBA&",";1)-1)-12;1)))))="";JEŻELI(JEŻELI((ZNAJD¬(",";LICZBA&",";1)-1)<(JEŻELI(LICZBA<0;14;13));"";WARTO¦Ć(FRAGMENT.TEKSTU(LICZBA;(ZNAJD¬(",";LICZBA&",";1)-1)-12;1)))="";"";WARTO¦Ć(JEŻELI((ZNAJD¬(",";LICZBA&",";1)-1)<(JEŻELI(LICZBA<0;16;15));"";WARTO¦Ć(FRAGMENT.TEKSTU(LICZBA;(ZNAJD¬(",";LICZBA&",";1)-1)-14;1)))&JEŻELI((ZNAJD¬(",";LICZBA&",";1)-1)<(JEŻELI(LICZBA<0;15;14));"";WARTO¦Ć(FRAGMENT.TEKSTU(LICZBA;(ZNAJD¬(",";LICZBA&",";1)-1)-13;1)))&JEŻELI((ZNAJD¬(",";LICZBA&",";1)-1)<(JEŻELI(LICZBA<0;14;13));"";WARTO¦Ć(FRAGMENT.TEKSTU(LICZBA;(ZNAJD¬(",";LICZBA&",";1)-1)-12;1)))))=0;JEŻELI(JEŻELI(JEŻELI((ZNAJD¬(",";LICZBA&",";1)-1)<(JEŻELI(LICZBA<0;14;13));"";WARTO¦Ć(FRAGMENT.TEKSTU(LICZBA;(ZNAJD¬(",";LICZBA&",";1)-1)-12;1)))="";"";WARTO¦Ć(JEŻELI((ZNAJD¬(",";LICZBA&",";1)-1)<(JEŻELI(LICZBA<0;16;15));"";WARTO¦Ć(FRAGMENT.TEKSTU(LICZBA;(ZNAJD¬(",";LICZBA&",";1)-1)-14;1)))&JEŻELI((ZNAJD¬(",";LICZBA&",";1)-1)<(JEŻELI(LICZBA<0;15;14));"";WARTO¦Ć(FRAGMENT.TEKSTU(LICZBA;(ZNAJD¬(",";LICZBA&",";1)-1)-13;1)))&JEŻELI((ZNAJD¬(",";LICZBA&",";1)-1)<(JEŻELI(LICZBA<0;14;13));"";WARTO¦Ć(FRAGMENT.TEKSTU(LICZBA;(ZNAJD¬(",";LICZBA&",";1)-1)-12;1)))))=1;"bilion";"")<>"";JEŻELI(LUB(JEŻELI(JEŻELI((ZNAJD¬(",";LICZBA&",";1)-1)<(JEŻELI(LICZBA<0;14;13));"";WARTO¦Ć(FRAGMENT.TEKSTU(LICZBA;(ZNAJD¬(",";LICZBA&",";1)-1)-12;1)))="";"";WARTO¦Ć(JEŻELI((ZNAJD¬(",";LICZBA&",";1)-1)<(JEŻELI(LICZBA<0;16;15));"";WARTO¦Ć(FRAGMENT.TEKSTU(LICZBA;(ZNAJD¬(",";LICZBA&",";1)-1)-14;1)))&JEŻELI((ZNAJD¬(",";LICZBA&",";1)-1)<(JEŻELI(LICZBA<0;15;14));"";WARTO¦Ć(FRAGMENT.TEKSTU(LICZBA;(ZNAJD¬(",";LICZBA&",";1)-1)-13;1)))&JEŻELI((ZNAJD¬(",";LICZBA&",";1)-1)<(JEŻELI(LICZBA<0;14;13));"";WARTO¦Ć(FRAGMENT.TEKSTU(LICZBA;(ZNAJD¬(",";LICZBA&",";1)-1)-12;1)))))="";JEŻELI(JEŻELI(JEŻELI((ZNAJD¬(",";LICZBA&",";1)-1)<(JEŻELI(LICZBA<0;14;13));"";WARTO¦Ć(FRAGMENT.TEKSTU(LICZBA;(ZNAJD¬(",";LICZBA&",";1)-1)-12;1)))="";"";WARTO¦Ć(JEŻELI((ZNAJD¬(",";LICZBA&",";1)-1)<(JEŻELI(LICZBA<0;16;15));"";WARTO¦Ć(FRAGMENT.TEKSTU(LICZBA;(ZNAJD¬(",";LICZBA&",";1)-1)-14;1)))&JEŻELI((ZNAJD¬(",";LICZBA&",";1)-1)<(JEŻELI(LICZBA<0;15;14));"";WARTO¦Ć(FRAGMENT.TEKSTU(LICZBA;(ZNAJD¬(",";LICZBA&",";1)-1)-13;1)))&JEŻELI((ZNAJD¬(",";LICZBA&",";1)-1)<(JEŻELI(LICZBA<0;14;13));"";WARTO¦Ć(FRAGMENT.TEKSTU(LICZBA;(ZNAJD¬(",";LICZBA&",";1)-1)-12;1)))))=1;"bilion";"")=1);"";JEŻELI(ORAZ(LUB(JEŻELI((ZNAJD¬(",";LICZBA&",";1)-1)<(JEŻELI(LICZBA<0;14;13));"";WARTO¦Ć(FRAGMENT.TEKSTU(LICZBA;(ZNAJD¬(",";LICZBA&",";1)-1)-12;1)))=2;JEŻELI((ZNAJD¬(",";LICZBA&",";1)-1)<(JEŻELI(LICZBA<0;14;13));"";WARTO¦Ć(FRAGMENT.TEKSTU(LICZBA;(ZNAJD¬(",";LICZBA&",";1)-1)-12;1)))=3;JEŻELI((ZNAJD¬(",";LICZBA&",";1)-1)<(JEŻELI(LICZBA<0;14;13));"";WARTO¦Ć(FRAGMENT.TEKSTU(LICZBA;(ZNAJD¬(",";LICZBA&",";1)-1)-12;1)))=4);JEŻELI((ZNAJD¬(",";LICZBA&",";1)-1)<(JEŻELI(LICZBA<0;15;14));"";WARTO¦Ć(FRAGMENT.TEKSTU(LICZBA;(ZNAJD¬(",";LICZBA&",";1)-1)-13;1)))<>1);"biliony";""))<>"");"";"bilionów")) |
|
_________________ MAKROAPLIKACJE.PL - Automatyzacja Excela Dla Korporacji by Quasi |
|
 | ID posta:
102560
|
|
|
 |
|
|
Marecki
Excel Expert


Wersja: Win Office 2021
Posty: 8821
|
Wysłany: 22-12-2013, 20:15
|
|
|
Funkcja zwracaj±ca wynik ze strony -> http://www.slownie.pl/
Kod: | Public Function Kwota_slownie(kwota As Double, jezyk As String, waluta As String) As String
'*****************************************************************************************
'jezyk: "pl" "en" "de"
'waluta "pln" "eur" "usd" "chf" "gbp"
'wywolanie =Kwota_slownie(123,89;"pl";"pln")
'******************************************************************************************
Dim oRegEx As Object
Dim oMatches As Object
Dim oXMLHTTP As Object
Set oXMLHTTP = CreateObject("MSXML2.XMLHTTP")
With oXMLHTTP
.Open "GET", "https://slownie.pl/" & kwota & "/" & jezyk & "/" & waluta, True
.send
Do While .ReadyState <> 4: DoEvents: Loop
End With
Set oRegEx = CreateObject("vbscript.regexp")
With oRegEx
.MultiLine = True
.Global = True
.Pattern = "word""\>(.*)<\/p>"
Set oMatches = .Execute(oXMLHTTP.ResponseText)
Kwota_slownie = oMatches(0).SubMatches(0)
End With
Set oRegEx = Nothing
Set oMatches = Nothing
Set oXMLHTTP = Nothing
End Function
|
|
_________________ Hardware - ta czę¶ć komputera, któr± można kopn±ć kiedy software przestanie funkcjonować.
FB |
Ostatnio zmieniony przez Marecki 21-10-2017, 21:59, w cało¶ci zmieniany 2 razy |
|
 | ID posta:
213549
|
|
|
 |
|
|
Marecki
Excel Expert


Wersja: Win Office 2021
Posty: 8821
|
Wysłany: 23-12-2013, 20:46
|
|
|
Kolejna funkcja , tym razem zwracaj±ca wyniki ze strony http://kwotaslownie.pl/
Ograniczenie funkcji to kwota nie większa niż "dziewięć bilionów dziewięćset dziewięćdziesi±t dziewięć miliardów dziewięćset dziewięćdziesi±t dziewięć milionów dziewięćset dziewięćdziesi±t dziewięć tysięcy dziewięćset dziewięćdziesi±t dziewięć złotych i dziewięćdziesi±t dziewięć groszy" - 9999999999999.99 ( na stringach można by było uzyskać większ± ), no i oczywi¶cie dostęp do Neta.
Kod: | Sub test()
MsgBox kwota_slownie(9999999999999.99)
MsgBox kwota_slownie(Application.InputBox("Wpisz kwotę", "Kwota słownie", "99999999999999,997", Type:=1))
End Sub
Function kwota_slownie(kwota As Double) As String
Dim MyRequest As Object
Dim params As String
Dim dopisz As String
Dim sep As Byte
Dim x1 As Double ' liczba przed przecinkiem
Dim x2 As Byte ' liczba po przecinku
On Error GoTo kwota_slownie_Error
If kwota > 9999999999999.99 Then kwota_slownie = "Za duża kwota, sam sobie przetłumacz jak umiesz :-)": Exit Function
sep = InStr(kwota, Application.International(xlDecimalSeparator))
If sep = 0 Then
x1 = kwota
x2 = 0
dopisz = " i zero groszy"
ElseIf VBA.Len(kwota) - sep = 1 Then
x1 = VBA.Left(kwota, sep - 1)
x2 = VBA.Mid(kwota, sep + 1, 2) & 0
Else
x1 = VBA.Left(kwota, sep - 1)
x2 = VBA.Mid(kwota, sep + 1, 2)
End If
Set MyRequest = CreateObject("WinHttp.WinHttpRequest.5.1")
params = "d=" & x1 & "%2C" & x2
MyRequest.Open "POST", "http://kwotaslownie.pl/ajax.php"
MyRequest.SetRequestHeader "Content-Type", "application/x-www-form-urlencoded"
MyRequest.Send (params)
kwota_slownie = Ajax_To_Utf8(Replace(Replace(MyRequest.ResponseText, "{""data"":""", ""), """}", "")) & dopisz
kwota_slownie = Split(kwota_slownie, """,""rt")(0)
Set MyRequest = Nothing
On Error GoTo 0
Exit Function
kwota_slownie_Error:
End Function
Function Ajax_To_Utf8(MyString As String) As String
MyString = Replace(MyString, "\u0105", "±")
MyString = Replace(MyString, "\u0107", "ć")
MyString = Replace(MyString, "\u0119", "ę")
MyString = Replace(MyString, "\u0142", "ł")
MyString = Replace(MyString, "\u00f3", "ó")
MyString = Replace(MyString, "\u015b", "¶")
Ajax_To_Utf8 = MyString
End Function
|
|
_________________ Hardware - ta czę¶ć komputera, któr± można kopn±ć kiedy software przestanie funkcjonować.
FB |
|
 | ID posta:
213650
|
|
|
 |
|
|
Bill Szysz
Excel Expert


Wersja: Win Office 365
Posty: 4175
|
Wysłany: 28-03-2020, 11:49
|
|
|
Mamy (albo będziemy mieli) nowe funkcje to i nowe rozwi±zania s± możliwe.
W zał±czniku kwoty słownie bez VBA...ale z użyciem nowej funkcji ZEZWALAJ (LET).
Testujcie....bo to takie pierwsze spojrzenie na problem
Edit: zauważyłem, że wkradł się drobny bł±d - wymieniłem plik na prawidłowy (brakowało w ostatnim fragmencie formuły, funkcji MODUŁ. LICZBY przez co grosze (np 33/100) się nie zgadzały.)
KwotaSlownie.png
|
 |
Plik ¶ci±gnięto 91 raz(y) 109.42 KB |
LET_kwoty_słownie.xlsx
|
Pobierz Plik ¶ci±gnięto 394 raz(y) 16.51 KB |
|
_________________
Pozdrawiam, były szbill62 aktualnie Bill Szysz |
|
 | ID posta:
384404
|
|
|
 |
|
|
|
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach Nie możesz zał±czać plików na tym forum Możesz ¶ci±gać zał±czniki na tym forum
|
Dodaj temat do Ulubionych Wersja do druku
|
|
Strona uĹĽywa plikĂłw cookies.
Kliknij tutaj, żeby dowiedzieć się jaki jest cel używania cookies oraz jak zmienić ustawienia cookie w przegl�darce.
KorzystajÄ…c ze strony uĹĽytkownik wyraĹĽa zgodÄ™ na uĹĽywanie plikĂłw cookies, zgodnie z bieĹĽÄ…cymi ustawieniami przeglÄ…darki.
SprawdĹş, w jaki sposĂłb przetwarzamy dane osobowe
|