Operazioni con le lettere
Moderatori: isex, mariobrossh, donatella
Operazioni con le lettere
Un amico ha chiesto se è possibile in excel quadrare operazioni con lettere,esempio: A1 mille B1 duemila in C1 tremila scritto come si vede D1 3000,00 scritto come si vede.
Grazie a Tutti
Saluti e salute perfetta
Cerponio ma nella vita Peppino
Grazie a Tutti
Saluti e salute perfetta
Cerponio ma nella vita Peppino
-
cosimocs
-
cosimocs
Per funzionare questa routine occorre creare un'evento
che genera la conversione, quindi si può ad es. aggiungere un
Pulsante di comando e incollare il codice nell'evento Clik,
Le celle attualmente impostate sono B6 per l'input e B7
per l'output che potete cambiare a vostro piacimento
Funziona fino a 999.999.999.
*******************************************
Dim N$(100), M$(100)
Range("B6").Select 'cella col numero da convertire
Num = ActiveCell.Value
N$(0) = ""
N$(1) = "uno"
N$(2) = "due"
N$(3) = "tre"
N$(4) = "quattro"
N$(5) = "cinque"
N$(6) = "sei"
N$(7) = "sette"
N$(8) = "otto"
N$(9) = "nove"
N$(10) = "dieci"
N$(11) = "undici"
N$(12) = "dodoci"
N$(13) = "tredici"
N$(14) = "quattordici"
N$(15) = "quindici"
N$(16) = "sedici"
N$(17) = "diciassette"
N$(18) = "diciotto"
N$(19) = "diciannove"
M$(0) = ""
M$(2) = "venti"
M$(3) = "trenta"
M$(4) = "quaranta"
M$(5) = "cinquanta"
M$(6) = "sessanta"
M$(7) = "settanta"
M$(8) = "ottanta"
M$(9) = "novanta"
M$(10) = "Cento"
NN$ = LTrim$(Str$(Num))
If Len(NN$) > 6 Then
Milioni$ = Left$(NN$, Len(NN$) - 6)
NN$ = Right$(NN$, 6)
End If
If Len(NN$) > 3 Then
Migliaia$ = Left$(NN$, Len(NN$) - 3)
NN$ = Right$(NN$, 3)
End If
GoSub Ciclo
LLL$ = LL$
NN$ = Migliaia$
If Migliaia$ = "1" Then
LLL$ = "mille" + LLL$
Else
GoSub Ciclo
If Len(LL$) > o Then LLL$ = LL$ + "mila" + LLL$
End If
NN$ = Milioni$
If Milioni$ = "1" Then
LLL$ = "unmilione" + LLL$
Else
GoSub Ciclo
If Len(LL$) > o Then LLL$ = LL$ + "milioni" + LLL$
End If
Range("B7").Select 'cella che riporta la conversione il lettere
ActiveCell.Value = LLL$
GoTo Fine
Ciclo:
LL$ = ""
Num0 = Val(NN$)
If Len(NN$) = 2 Then NN$ = "0" + NN$
If Len(NN$) = 1 Then NN$ = "00" + NN$
Num3 = Val(Right$(NN$, 1))
Num2 = Val(Mid$(NN$, 2, 1))
Num1 = Val(Left$(NN$, 1))
If Num0 > 99 Then
If Num0 > 199 Then LL$ = N$(Num1)
LL$ = LL$ + "cento"
End If
If Num2 > 1 Then
LL$ = LL$ + M$(Num2)
If Num3 > 0 Then
If Num3 = 1 Or Num3 = 8 Then LL$ = Left$(LL$, Len(LL$) - 1)
LL$ = LL$ + N$(Num3)
End If
End If
If Num2 < 2 Then
LL$ = LL$ + N$(Num3 + Num2 * 10)
End If
Return
Fine:
che genera la conversione, quindi si può ad es. aggiungere un
Pulsante di comando e incollare il codice nell'evento Clik,
Le celle attualmente impostate sono B6 per l'input e B7
per l'output che potete cambiare a vostro piacimento
Funziona fino a 999.999.999.
*******************************************
Dim N$(100), M$(100)
Range("B6").Select 'cella col numero da convertire
Num = ActiveCell.Value
N$(0) = ""
N$(1) = "uno"
N$(2) = "due"
N$(3) = "tre"
N$(4) = "quattro"
N$(5) = "cinque"
N$(6) = "sei"
N$(7) = "sette"
N$(8) = "otto"
N$(9) = "nove"
N$(10) = "dieci"
N$(11) = "undici"
N$(12) = "dodoci"
N$(13) = "tredici"
N$(14) = "quattordici"
N$(15) = "quindici"
N$(16) = "sedici"
N$(17) = "diciassette"
N$(18) = "diciotto"
N$(19) = "diciannove"
M$(0) = ""
M$(2) = "venti"
M$(3) = "trenta"
M$(4) = "quaranta"
M$(5) = "cinquanta"
M$(6) = "sessanta"
M$(7) = "settanta"
M$(8) = "ottanta"
M$(9) = "novanta"
M$(10) = "Cento"
NN$ = LTrim$(Str$(Num))
If Len(NN$) > 6 Then
Milioni$ = Left$(NN$, Len(NN$) - 6)
NN$ = Right$(NN$, 6)
End If
If Len(NN$) > 3 Then
Migliaia$ = Left$(NN$, Len(NN$) - 3)
NN$ = Right$(NN$, 3)
End If
GoSub Ciclo
LLL$ = LL$
NN$ = Migliaia$
If Migliaia$ = "1" Then
LLL$ = "mille" + LLL$
Else
GoSub Ciclo
If Len(LL$) > o Then LLL$ = LL$ + "mila" + LLL$
End If
NN$ = Milioni$
If Milioni$ = "1" Then
LLL$ = "unmilione" + LLL$
Else
GoSub Ciclo
If Len(LL$) > o Then LLL$ = LL$ + "milioni" + LLL$
End If
Range("B7").Select 'cella che riporta la conversione il lettere
ActiveCell.Value = LLL$
GoTo Fine
Ciclo:
LL$ = ""
Num0 = Val(NN$)
If Len(NN$) = 2 Then NN$ = "0" + NN$
If Len(NN$) = 1 Then NN$ = "00" + NN$
Num3 = Val(Right$(NN$, 1))
Num2 = Val(Mid$(NN$, 2, 1))
Num1 = Val(Left$(NN$, 1))
If Num0 > 99 Then
If Num0 > 199 Then LL$ = N$(Num1)
LL$ = LL$ + "cento"
End If
If Num2 > 1 Then
LL$ = LL$ + M$(Num2)
If Num3 > 0 Then
If Num3 = 1 Or Num3 = 8 Then LL$ = Left$(LL$, Len(LL$) - 1)
LL$ = LL$ + N$(Num3)
End If
End If
If Num2 < 2 Then
LL$ = LL$ + N$(Num3 + Num2 * 10)
End If
Return
Fine:
Ultima modifica di cosimocs il mar 20 gen 2009 12:31 pm, modificato 1 volta in totale.
Relativamente al post in questione, non ho capito nulla, poi, non so neanche come si creano i pulsanti.
Per quanto riguarda le settimane 2009 ho già risposto che tutto a posto.
Se mi dici come si inviano i file lo trasmetto, in quanto ho creato degli automatismi.
Saluti e salute perfetta
Cerponio ma nella vita Peppino
Per quanto riguarda le settimane 2009 ho già risposto che tutto a posto.
Se mi dici come si inviano i file lo trasmetto, in quanto ho creato degli automatismi.
Saluti e salute perfetta
Cerponio ma nella vita Peppino
-
cosimocs
Ma dove ?Per quanto riguarda le settimane 2009 ho già risposto che tutto a posto.
Per quanto riguarda questo post:
Sul tuo foglio di excel clikki sulla barra degli strumenti in alto
col tasto destro e selezioni [strumenti di controllo]
dalla nuova finestra che ti appare selezioni [pulsante di comando]
ti porti col mouse sul foglio e disegni il pulsante
dopodichè clik destro sul pulsante appena creato e selezioni
[visualizza codice]
a questo punto fai copia/incolla del codice che ho postato
torni sul foglio, click sx sull'icona [esci dalla modalità progettazione]
(la squadretta in alto a sx della finestra [strumenti di controllo])
ed il gioco e fatto
inserisci una cifra nella cella b6
clikka su una cella vuota
clikka sul tuo pulsante appena creato
e guarda il risulato
In effetti non ho risposto al post settimane 2009.
Ora il file è automatizzato, digito il giorno, il mese e l'anno ed appaiono
in due celle il numero del giorno nell'anno e il numero della settimana.
Se vuoi, lo trasmetto, se, per cortesia, indichi come.
Relativamente al Tuo ultimo post "operazione con lettere" devi sapere che sono una schiappa sia in excel che in VBA per cui il quesito rimane non risolto.
Saluti e salute perfetta
Cerponio ma nella vita Peppino
Ora il file è automatizzato, digito il giorno, il mese e l'anno ed appaiono
in due celle il numero del giorno nell'anno e il numero della settimana.
Se vuoi, lo trasmetto, se, per cortesia, indichi come.
Relativamente al Tuo ultimo post "operazione con lettere" devi sapere che sono una schiappa sia in excel che in VBA per cui il quesito rimane non risolto.
Saluti e salute perfetta
Cerponio ma nella vita Peppino
- Capitan Farloc
- Site Admin
- Messaggi: 9648
- Iscritto il: gio 29 dic 2005 10:58 pm
- Località: Roma
Per Cosimo
Ho letto che sei di Cosenza,io sono di Crotone, non sono riuscito a tramettere e-mail, quello del Tuo profilo
Cerponio
Cerponio
Scambio file sul forum
Scusa se turbo la Tua mente ed il regolamento del forum:penso che un forum per avere un grande successo dovrebbe consentire di allegare gi allegati.I medesimi allegati appartengono alla cultura dei Forum e all'utilità degli iscritti al forum.
Saluti e salute perfetta
Peppino
Saluti e salute perfetta
Peppino
-
cosimocs