Excel Forum - Porady, Pomoc,  Excel Help, Excel FAQ Strona Główna
 FAQ  RegulaminRegulamin  Szukaj   Użytkownicy   Grupy   Rejestracja   Profil   Twoje wiadomo¶ci   Zaloguj 


Poprzedni temat «» Następny temat
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 Skopiuj do schowka
 
 
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 Skopiuj do schowka
 
 
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 Skopiuj do schowka
 
 
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 :mrgreen: 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"))

:beer
_________________
MAKROAPLIKACJE.PL - Automatyzacja Excela Dla Korporacji by Quasi
ID posta: 102560 Skopiuj do schowka
 
 
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 Skopiuj do schowka
 
 
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 Skopiuj do schowka
 
 
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

_________________
Zlecenia, konsultacje, doradztwo i szkolenia z Power Query, Power BI i Excela - Raporty, Analizy, Projekty
Pozdrawiam, były szbill62 aktualnie Bill Szysz
ID posta: 384404 Skopiuj do schowka
 
 
Wy¶wietl posty z ostatnich:   
Odpowiedz do tematu
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

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group
Theme xandgreen created by spleen& Programosy modified v0.3 by warna
Opieka techniczna www.wip.pl

Archiwum

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