Questione : SpellNumber

Perché quando la I '' SpellNumber (A1) '' fa esso inseriscono “E„ prima dei numeri più in gran parte di 10.000.000? È perché le cellule che sta convertendo sono disposizione di valuta?? E perché, se là penny è coinvolto inserisce “e„ nella lettera minuscola? Aiuto! Thanks class= del

Risposta : SpellNumber

Tutto il codice è ancora incluso e ci sono due difficoltà,
lo spazio in bianco restituisce lo spazio in bianco
1 restituisce un singolare del pund cioè

Chris
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
Spellnumber di funzione (numberRange come gamma)
    Se numberRange = "" allora
        spellnumber = ""
    Altrimenti
        spellnumber = Currency2Words (numberRange, “libbre„, “penny„)
    Concluder se
Concludere la funzione

Funzione Currency2Words (ByVal MyNumber, strUnits facoltativi, strFrac facoltativo)
Temp fioco
Unità fioche
Frac fioco
DecimalPlace fioco
Oscurare il conteggio

    Se strUnits di IsMissing (strUnits) allora = “dollari„
    Se strFrac di IsMissing (strFrac) allora = “centesimi„
    Posto di ReDim (9) come stringa
    Disporre (2) = “mille„
    Disporre (3) = “milioni„
    Disporre (4) = “miliardo„
    Disporre (5) = “trilione„

         
    MyNumber = disposizione (streptococco (MyNumber))
    DecimalPlace = InStr (MyNumber, “.")
    Se DecimalPlace > 0 allora
        Il Temp = ha andato (metà di (MyNumber, DecimalPlace + 1) & “00„, 2)
        Frac = ConvertTens (Temp)
        MyNumber = disposizione (di sinistra (MyNumber, DecimalPlace - 1))
    Concluder se

    Conteggio = 1
    Fare mentre "" <> di MyNumber
        Temp = ConvertHundreds (di destra (MyNumber, 3))
        Se unità <> = Temp & posto (conteggio) & unità del "" del Temp allora
        Se Len (MyNumber) > 3 allora
          MyNumber = andato (MyNumber, Len (MyNumber) - 3)
       Altrimenti
          MyNumber = ""
       Concluder se
       Conteggio = conteggio + 1
    Ciclo

    Unità = disposizione (unità) & ““
    Selezionare la disposizione di caso (unità)
       Mettere il ""
          Unità = "" '“no„ & strUnits
       Caso “uno„
          Le unità = “una„ & hanno andato (strUnits, Len (strUnits) - 1)
       Caso altrimenti
          Unità = unità & strUnits
    Estremità prescelta
    Selezionare la disposizione di caso (Frac)
       Mettere il ""
          Frac = "" '“e no„ & strFrac
       Caso “uno„
          Se unità = "" allora
            Frac = Frac & ““& strFrac
          Altrimenti
            Frac = “ed uno„ & hanno andato (strFrac, Len (strFrac) - 1)
        Concluder se
       Mettere altrimenti
          Se unità = "" allora
            Frac = Frac & ““& strFrac
          Altrimenti
            Frac = “e„ & Frac & ““& strFrac
          Concluder se
    Concludere prescelto

    Se unità = "" allora
        Currency2Words = Frac
    Altrimenti
        Currency2Words = unità & Frac
    Concluder se
    Currency2Words = sostituiscono (disposizione (Currency2Words), “  “,„ ")
Funzione di conclusione

Funzione riservata ConvertHundreds (ByVal MyNumber)
Risultato fioco come stringa

    Se Val (MyNumber) = 0 allora esce la funzione
    MyNumber = di destra (“000„ & MyNumber, 3)

    'Centinaia
    Se andato (MyNumber, 1) <> “0„ allora
       Risultato = ConvertDigit (lasciato (MyNumber, 1)) & “cento„
    Concluder se

    'dieci
    Se metà di (MyNumber, 2, 1) <> “0„ allora
       Risultato = risultato & ConvertTens (metà di (MyNumber, 2))
    Altrimenti
       Risultato = risultato & ConvertDigit (metà di (MyNumber, 3))
    Concluder se

    ConvertHundreds = disposizione (risultato)
Funzione di conclusione

Funzione riservata ConvertTens (ByVal MyTens)
Risultato fioco come stringa

    'È il valore fra 10 e 19?
    Se Val (allora lasciato (MyTens, 1)) = 1
        Selezionare il caso Val (MyTens)
            Caso 10: Risultato = “dieci„
            Caso 11: Risultato = “undici„
            Caso 12: Risultato = “dodici„
            Caso 13: Risultato = “tredici„
            Caso 14: Risultato = “quattordici„
            Caso 15: Risultato = “quindici„
            Caso 16: Risultato = “sedici„
            Caso 17: Risultato = “diciassette„
            Caso 18: Risultato = “diciotto„
            Caso 19: Risultato = “diciannove„
            Caso altrimenti
        Estremità prescelta
    Altrimenti
        '. altrimenti è fra 20 e 99.
        Selezionare il caso Val (ha andato (MyTens, 1))
            Caso 2: Risultato = “venti„
            Caso 3: Risultato = “trenta„
            Caso 4: Risultato = “quaranta„
            Caso 5: Risultato = “cinquanta„
            Caso 6: Risultato = “sessanta„
            Caso 7: Risultato = “settanta„
            Caso 8: Risultato = “ottanta„
            Caso 9: Risultato = “novanta„
            Caso altrimenti
        Estremità prescelta

        'Il convertito un dispone la cifra.
        Risultato = risultato & ConvertDigit (di destra (MyTens, 1))
    Concluder se

    ConvertTens = risultato
Funzione di conclusione

Funzione riservata ConvertDigit (ByVal MyDigit)
    Selezionare il caso Val (MyDigit)
        Caso 1: ConvertDigit = “uno„
        Caso 2: ConvertDigit = “due„
        Caso 3: ConvertDigit = “tre„
        Caso 4: ConvertDigit = “quattro„
        Caso 5: ConvertDigit = “cinque„
        Caso 6: ConvertDigit = “sei„
        Caso 7: ConvertDigit = “sette„
        Caso 8: ConvertDigit = “otto„
        Caso 9: ConvertDigit = “nove„
        Caso altrimenti: ConvertDigit = ""
    Estremità prescelta
Funzione di conclusione
Altre soluzioni  
 
programming4us programming4us