Dodaj do ulubionych

Excel POMOCY!!!

IP: *.konin.sdi.tpnet.pl 23.10.04, 23:47
Mam taki problem nie wiem w jaki sposób w Exelu zapisujac cyfre np 356,23
zrobic aby program zapisał ja słownie i przy kzadej zmianie cyfry zapis
slowny bedzie sie zmienial? Prosze o pomoc i z gory wielkie dzieki!!
Obserwuj wątek
    • Gość: kruk Re: Excel POMOCY!!! IP: *.icpnet.pl 26.10.04, 23:59
      zależy od wersji excela. na office 2000 nie znalazłem na to sposobu. w 2003
      jest funkcja "bahttxt" i robi to czego szukasz, ale ... w języku tajskim
      (domyślny)! PONOć język zależy od ustawień regionalnych w menu startowym
      windowsa. Próbowałem, nic z tego nie wyszło. Powodzenia.
    • Gość: hiolka Re: Excel POMOCY!!! IP: 194.156.135.* 27.10.04, 09:49
      Poszukaj w necie - powinienes ja chyba znalezc na stronie
      www.excel.vip.interia.pl, to napisana przez kogos w VBA funkcja "slownie".
      Trzeba ja skopiowac do wlasnego edytora VBA, ta funkcja nie jest wbudowana w
      Excelu.
      Powodzenia!
    • Gość: Beny Re: Excel POMOCY!!! IP: 195.127.197.* 27.10.04, 10:27
      Popraw sobie literki, ja juz nie uzywam polskich ogonkow, a to mi sie zostalo ze
      starych czasow

      Function s³ownie(argument) As String

      Dim o1do9_$(9)
      Dim o10do19_$(10)
      Dim o20do90_$(9)
      Dim o100do900_$(9)
      Dim licz_md, md_100, md_10, md_1, licz_mil, mil_100, mil_10, mil_1, licz_tys, _
      tys_100, tys_10, tys_1, reszta, po_przecinku, md, mil, tys, liczba,
      licz_setek, licz_dzies, _
      licz_jed As Long
      Dim y$, yy$, yyy$, yyyy$, yyyyy$, xxx$, nazwa_md$, nazwa_mil$, nazwa_tys$,
      groszy$, nazwa_setek$, nazwa_dzies$, nazwa_jed$

      o1do9_$(1) = " jeden": o1do9_$(2) = " dwa": o1do9_$(3) = " trzy"
      o1do9_$(4) = " cztery": o1do9_$(5) = " piêæ": o1do9_$(6) = " szeœæ"
      o1do9_$(7) = " siedem": o1do9_$(8) = " osiem"
      o1do9_$(9) = " dziewiêæ"

      o10do19_$(1) = " dziesiêæ": o10do19_$(2) = " jedenaœcie"
      o10do19_$(3) = " dwanaœcie": o10do19_$(4) = " trzynaœcie"
      o10do19_$(5) = " czternaœcie": o10do19_$(6) = " piêtnaœcie"
      o10do19_$(7) = " szesnaœcie": o10do19_$(8) = " siedemnaœcie"
      o10do19_$(9) = " osiemnaœcie": o10do19_$(10) = " dziewiêtnaœcie"

      o20do90_$(1) = ""
      o20do90_$(2) = " dwadzieœcia": o20do90_$(3) = " trzydzieœci"
      o20do90_$(4) = " czterdzieœci": o20do90_$(5) = " piêædziesi¹t"
      o20do90_$(6) = " szeœædziesi¹t": o20do90_$(7) = " siedemdziesi¹t"
      o20do90_$(8) = " osiemdziesi¹t": o20do90_$(9) = " dziewiêædziesi¹t"

      o100do900_$(1) = " sto": o100do900_$(2) = " dwieœcie"
      o100do900_$(3) = " trzysta": o100do900_$(4) = " czterysta"
      o100do900_$(5) = " piêæset": o100do900_$(6) = " szeœæset"
      o100do900_$(7) = " siedemset": o100do900_$(8) = " osiemset"
      o100do900_$(9) = " dziewiêæset"

      Dim o1E9_$(3)
      Dim o1E6_$(3)
      Dim o1E3_$(3)


      o1E9_$(1) = " miliard": o1E9_$(2) = " miliardy"
      o1E9_$(3) = " miliardów"

      o1E6_$(1) = " milion": o1E6_$(2) = " miliony"
      o1E6_$(3) = " milionów"

      o1E3_$(1) = " tysi¹c": o1E3_$(2) = " tysi¹ce"
      o1E3_$(3) = " tysiêcy"

      licz_md = Int(argument / 1000000000)
      md_100 = Int(licz_md / 100)
      md_10 = Int(licz_md / 10) - md_100 * 10
      md_1 = Int(licz_md) - md_100 * 100 - md_10 * 10

      licz_mil = Int((argument / 1000000) - licz_md * 1000)
      mil_100 = Int(licz_mil / 100)
      mil_10 = Int(licz_mil / 10) - mil_100 * 10
      mil_1 = Int(licz_mil) - mil_100 * 100 - mil_10 * 10

      licz_tys = Int((argument / 1000) - licz_md * 1000000 - licz_mil * 1000)
      tys_100 = Int(licz_tys / 100)
      tys_10 = Int(licz_tys / 10) - tys_100 * 10
      tys_1 = Int(licz_tys) - tys_100 * 100 - tys_10 * 10

      reszta = Int(argument - (licz_tys * 1000) - (licz_mil * 1000000) - (licz_md *
      1000000000))

      po_przecinku = ((argument - ((licz_tys * 1000) + (licz_mil * 1000000) + (licz_md
      * 1000000000) + reszta)) * 100) + 0.5

      If licz_md = 1 Then
      md = 1
      Else
      If md_10 = 1 Then
      md = 3
      Else
      If md_1 < 2 Or md_1 > 4 Then
      md = 3
      Else
      md = 2
      End If
      End If
      End If

      If licz_mil = 1 Then
      mil = 1
      Else
      If mil_10 = 1 Then
      mil = 3
      Else
      If mil_1 < 2 Or mil_1 > 4 Then
      mil = 3
      Else
      mil = 2
      End If
      End If
      End If

      If licz_tys = 1 Then
      tys = 1
      Else
      If tys_10 = 1 Then
      tys = 3
      Else
      If tys_1 < 2 Or tys_1 > 4 Then
      tys = 3
      Else
      tys = 2
      End If
      End If
      End If

      If licz_md > 0 Then
      liczba = licz_md
      GoSub zamiana
      yyyy$ = xxx$
      nazwa_md$ = yyyy$ + o1E9_$(md)
      Else
      nazwa_md$ = ""
      End If

      If licz_mil > 0 Then
      liczba = licz_mil
      GoSub zamiana
      yyy$ = xxx$
      nazwa_mil$ = yyy$ + o1E6_$(mil)
      Else
      nazwa_mil$ = ""
      End If

      If licz_tys > 0 Then
      liczba = licz_tys
      GoSub zamiana
      yy$ = xxx$
      nazwa_tys$ = yy$ + o1E3_$(tys)
      Else
      nazwa_tys$ = ""
      End If

      If po_przecinku >= 1 Then
      liczba = po_przecinku
      GoSub zamiana
      y$ = xxx$
      groszy$ = " " + y$ + " gr. ) "
      Else
      groszy$ = " zero gr. ) "
      End If

      liczba = reszta
      GoSub zamiana
      yyyyy$ = xxx$
      s³ownie = "(" + nazwa_md$ + nazwa_mil$ + nazwa_tys$ + yyyyy$ + " z³." + groszy$
      GoTo koniec

      zamiana:

      licz_setek = Int(liczba / 100)
      If licz_setek > 0 Then
      nazwa_setek$ = o100do900_$(licz_setek)
      Else
      nazwa_setek$ = ""
      End If

      licz_dzies = Int(liczba / 10) - licz_setek * 10
      If licz_dzies > 1 Then
      nazwa_dzies$ = o20do90_$(licz_dzies)
      Else
      nazwa_dzies$ = ""
      End If

      licz_jed = Int(liczba) - licz_setek * 100 - licz_dzies * 10
      If licz_jed > 0 Or licz_dzies = 1 Then
      If licz_dzies = 1 Then
      nazwa_jed$ = o10do19_$(licz_jed + 1)
      Else
      nazwa_jed$ = o1do9_$(licz_jed)
      End If
      Else
      nazwa_jed$ = ""
      End If

      xxx$ = nazwa_setek$ + nazwa_dzies$ + nazwa_jed$

      Return


      koniec:
      End Function
    • Gość: Mariner Re: Excel POMOCY!!! IP: *.jeleniag.cvx.ppp.tpnet.pl 27.10.04, 17:59
      Do tego jest potrzebna dodatkowa funkcja napisana w VBA. Poszukaj na stronach
      Excela. Tam one są.
      M.

Nie masz jeszcze konta? Zarejestruj się


Nakarm Pajacyka