A válasz valóban egyszerű: a mellékelt UDF-fel, csak megírni volt egy kicsit
bonyolultabb!
Üdv!
Stefi
Function Ftbetu(e, u, r)
' Feladata: Függvényértékként visszaadja az "E" egész szám értékét szöveggel
kiírva.
' Max. megengedett számérték: 999,999,999,999
' Tört szám esetén csak az egész rész szövegét adja vissza.
' Negatív szám esetén "mínusz"-szal kezdődik a szöveg.
' Paraméterek:
' e : a numerikus érték
' u : a zéró visszaadásának módját szabályozza: "" üres string, 0
"Nulla"
' r : a kész szöveg tagolását szabályozza, ha az 36 karakternél
hosszabb: 0:nem tagol, 1:első rész, 2:második rész
'***************************************************************************
elojel = IIf(e < 0, "mínusz ", "")
e = Int(Abs(e))
h = ""
s = ""
vs = ""
szoveg = ""
rnum = Val(r)
meret = 12
If e = 0 Then
If IsEmpty(u) Then
vs = ""
Else
vs = "Nulla"
End If
Else
If e > Val(String(meret, "9")) Then
vs = "Túl nagy szám!"
Else
c = LTrim(Str(e))
l = Len(c)
i = 1
Dim v1(9)
Dim v2(9)
Dim hen(4)
v1(1) = "egy"
v1(2) = "kettő"
v1(3) = "három"
v1(4) = "négy"
v1(5) = "öt"
v1(6) = "hat"
v1(7) = "hét"
v1(8) = "nyolc"
v1(9) = "kilenc"
v2(1) = "tizen"
v2(2) = "huszon"
v2(3) = "harminc"
v2(4) = "negyven"
v2(5) = "ötven"
v2(6) = "hatvan"
v2(7) = "hetven"
v2(8) = "nyolcvan"
v2(9) = "kilencven"
hen(1) = ""
hen(2) = IIf(l > 3, IIf(e > 2000, "ezer ", "ezer"), "")
hen(3) = IIf(l > 6, "millió ", "")
hen(4) = IIf(l > 9, "milliárd ", "")
Do While i <= WorksheetFunction.Min(Len(c), meret)
cssz = Int(i + 2) / 3
i1 = 1
s = ""
Do While i1 <= WorksheetFunction.Min(Len(c) - (cssz - 1) * 3, 3)
j = Mid(c, l, 1)
k = i - (cssz - 1) * 3
Select Case k
Case 1
h = IIf(j = "0", "", v1(Val(j)))
f1 = (j = "0")
Case 2
If Val(j) <= 2 And f1 Then
h = IIf(j = "0", "", IIf(j = "1", "tíz", "húsz"))
Else
h = IIf(j = "0", "", v2(Val(j)))
End If
Case 3
h = IIf(j = "0", "", v1(Val(j)) + "száz")
End Select
s = h + s
i1 = i1 + 1
i = i + 1
l = l - 1
Loop
s = s + IIf(Len(s) > 0, hen(cssz), "")
vs = s + vs
Loop
End If
End If
szoveg = elojel + vs
hossz = Len(szoveg)
If hossz <= 36 Then
If r < 2 Then
Ftbetu = szoveg
Else
Ftbetu = ""
End If
Else
If r = 0 Then
Ftbetu = szoveg
Else
reszszoveg = Split(szoveg, , 2)
Ftbetu = reszszoveg(r - 1)
End If
End If
End Function
Post by PetyaA kérdésem nagyon egyszerű. Hogyan lehet azt megcsinálni, hogy az egyik
cellába beírok egy számot, akkor azt mellé autómatikusan hozza betűvel?
Remélem a válaszotok is egyszerű lesz, de én már feladtam.
Köszi
Petya