Newsgroup: it.comp.os.win.software
Titolo: creazione macro euro

Ciao ragazzi.
Ho bisogno anche questa volta di un aiuto.
Devo creare una macro che tramite due pulsanti di opzione, mi dia la
possibilità di convertire  automaticamente in lire-euro e viceversa (con
relativa operazione di calcolo e simbolo) parti di una colonna di valori
(es E10:E30 , E34:E50 ,D10:D30).
Inoltre deve controllare che nei valori contenuti nell'intervallo non ci
siano caratteri al di fuori dei numeri,
Grazie dell'aiuto.
			Claudio
-- 
Posted from IDENT:qmailr@[217.57.8.100] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG



siano caratteri al di fuori dei numeri,
Si' e se magari ci dici anche di che cosa stai parlando.... chesso'....
mucche od elicotteri? rubinetti o carciofi?
Dove dovrebbe accadere tutto questo?
Ciao.

Si tratta di una lista di dati contabili di un commercialista
,precedentemente importati con una altra macro da gestionale , oggi espressi
in Lire .
Da questa lista devo tramite due pulsanti di opzione permettere la
visualizzazione  (facendo anche gli opportuni calcoli) e la stampa della
lista in lire o in euro , a seconda del pulsante selezionato.
Ecco un esempio.
Al memento  in cui seleziono  euro ,i valori della colonna devono
trasformarsi e ricalcorarsi.
[PARA]
	 Costi
	 L.        15.000
	 L.      250.000
	 L. 28.750.000
	 Ricavi
	 L.      150.000
	 L.        20.000
	 L.   3.000.000
Grazie della collaborazione
				Claudio
P.S.: scusatemi se non sono stato preciso!


P.S.: scusatemi se non sono stato preciso!
Il guaio e' che perseveri! ;-) Sei riuscito a non dire di che programma si
tratta neanche stavolta.
Mi pare di intuire che si possa trattare di un foglio elettronico, e
immagino che possa essere Excel, ma resta un frutto della mia fantasia,
quantunque probabile (di "colonne" si puo' parlare anche nei database, e
Excel non e' l'unico foglio elettronico al mondo).
Supponendo sia Excel, puo' darsi si possa risolvere con un'impostazione di
formato (mi sembra di ricordare che si possa impostare una scala); o puoi
calcolare DUE colonne, una in lire e una in euro, e nascondere a turno
l'una o l'altra; o usare una tabella pivot; o puoi ricorrere a VBA e
cambiare effettivamente il valore delle cele che ti interessano. In questo
momento putroppo non ho tempo per dettagliare nessuna di queste strategie.
Vedo quello che mi riesce nei prossimi giorni.
Ciao.

cambiare effettivamente il valore delle cele che ti interessano.
Un problema di questa soluzione e` che, naturalmente, devi avere un modo
per sapere se i valori attuali sono Lire o Euro (se dovessi riapplicare il
coefficiente da_lire_ad_euro a valori gia` in Euro, succederebbe infatti,
come puoi immaginare, un grosso pasticcio). In questo abbozzo di funzione,
suppongo che questa informazione sia contenuta nella prima cella della
colonna E. Se e` "Lire", converte in Euro e viceversa se e` "Euro" converte
in Lire.
Il ciclo For va ripetuto per ogni intervallo di valori che vuoi convertire.
Questo suppone che tali intervalli siano fissi e che tu li conosca in
anticipo. Se non e` cosi`, bisogna naturalmente strologare qualcosa per
identificarli.
Sostituirai ovviamente tu a "da_euro_a_lire" e "da_lire_a_euro" i
coefficienti appropriati.
Dovrai poi associare la procedura ad UN pulsante (non c'e` a questo punto
bisogno che siano due).
    Sub prova1()
    Dim ind As Integer
    Dim Coeff As Single
    Dim Cella As Range
    Set Cella = Application.ActiveSheet.Range("E1")
    If Cella.Value = "Lire" Then
        Cella.Value = "Euro"
        Coeff = da_lire_a_euro
    ElseIf Cella.Value = "Euro" Then
        Cella.Value = "Lire"
        Coeff = da_euro_a_lire
    Else
        Coeff = 1
    End If
    For Each Cella In Range("E10:E30")
        Cella.Value = Coeff * Cella.Value
    Next
    End Sub
Non sono poi del tutto sicuro che sia la cosa migliore da fare: forse e`
meglio tenere entrambi i valori in due colonne distinte.
Ciao.

	 L.   3.000.000
se si tratta di excel:
perchè non crei a fianco una nuova colonna e metti semplicemente la
formula che divide /1936.27 in modo da avere gli importi sia in lire
che in euro?
Ed eventualmente nascondere quella che sul momento non ti interessa.

come puoi immaginare, un grosso pasticcio).
Un altro problema e` che, calcola e ricalcola, il ricalcolato del calcolato
non sarai mai uguale al dato iniziale: le Lire trasformate in Euro
ritrasformate in Lire difficilmente saranno esattamente uguali alle Lire da
cui si era partiti, per via della precisione finita dei calcoli.
Come dire, per essere una soluzione, mi pare che abbia un po' troppi
problemi.
Meglio tenersi entrambi i valori, calcolati una volta per tutte, e
visualizzare ora gli uni ora gli altri.
Ciao.