Questo settaggio dipende da come hai impostato
i separatori di migliaia e decimali nelle opzioini di Windows.
Puoi, come hai visto anche tu, modificare da
Opzioni ecc. ma la valenza � per tutti i files di Excel.
Una soluzione(insomma, chiamarla soluzione...) � inserire
i valori come testo. Ma poi *�* testo.
--
---------------------------
Mauro Gamberini
http://www.riolab.org/
http://blog.maurogsc.eu/
http://social.microsoft.com/Forums/it-IT/excelit/threads
"lorenzo" ha scritto:
Ciao Lorenzo
Prova ad applicare il seguente formato personalizzato
#,##0"".00. (compreso il punto finale)
Sembra funzionare anche se il numero di decimali va settato direttamente
attraverso la modifica del formato personalizzato (in questo caso sono
previsti 2 decimali)
Fai sapere.
Ciao
Hai provato a scrivere nelle celle:
2500 o 6000 ad esempio?
Io come risultato ho:
2,50.00
6,0.00
Perch� se devo mettere i punti e le virgole
io, tanto vale formattare come testo.
O non ho capito.
Grazie.
"Mauro Gamberini" ha scritto:
> > Prova ad applicare il seguente formato personalizzato
> > #,##0"".00. (compreso il punto finale)
> > Sembra funzionare anche se il numero di decimali va settato direttamente
> > attraverso la modifica del formato personalizzato (in questo caso sono
> > previsti 2 decimali)
> >
>
> Hai provato a scrivere nelle celle:
> 2500 o 6000 ad esempio?
> Io come risultato ho:
> 2,50.00
> 6,0.00
> Perchè se devo mettere i punti e le virgole
> io, tanto vale formattare come testo.
> O non ho capito.
> Grazie.
>
Tu hai capito perfettamente. E' solo che, e non ne capisco la ragione, avevo
testato il formato su un numero di 4 cifre con 2 decimali e funziona. Forse
magari con qualche piccola modifica...
Un saluto
"Mauro Gamberini" ha scritto:
> In alcuni fogli, e solo alcuni, vorrei rappresentare i numeri
> all'anglosassone: separatore delle migliaia la virgola; separatore dei
> decimali il punto.
> La via più semplice sarebbe quella di fare strumenti -> opzioni ->
> label Internazionale -> togliere la spunta a Utilizza separatori di
> sistema e scegliere i simboli desiderati. Questa opzione ha però
> effetto su tutti i file che dovessi aprire contemporanemente o
> successivamente e sino al ripristino del default.
> Ho provato con le impostazioni personalizzate del formato celle, ma
> non ci riesco.
> ***********************************************
>
> Questo settaggio dipende da come hai impostato
> i separatori di migliaia e decimali nelle opzioini di Windows.
> Puoi, come hai visto anche tu, modificare da
> Opzioni ecc. ma la valenza è per tutti i files di Excel.
> Una soluzione(insomma, chiamarla soluzione...) è inserire
> i valori come testo. Ma poi *è* testo.
>
Ciao Mauro.
Mi sono annodato, o forse è colpa del mio malandato laptop, ma necessito
della tua fraterna consulenza.
La avrei pensata così, ma la cosa appare alquanto ballerina, della serie:
Come le bracioline, avvolte si, avvolte no.:-))
Option Explicit
Public Sub modificaseparatori()
With Application
'Modifica settaggio del formato numerico
.DecimalSeparator = "."
.ThousandsSeparator = ","
.UseSystemSeparators = False
End With
End Sub
Public Sub ripristinaseparatori()
With Application
'Ripristina settaggio formato numerico
.DecimalSeparator = ","
.ThousandsSeparator = "."
.UseSystemSeparators = True
End With
End Sub
Vuoi essere così cortese da dargli un'occhiata perchè funziona a corrente
alternata, in particolare (credo) per quel boolean malefico, anche se il
ripristino avviene correttamente; non l'ho provata in una Open e nella
conseguente BeforeClose.
Baci ai piccoli e cordialità ai grandi.
Eliano
P.S. Avvertenza per il volgo: l'uso delle predette routines potrebbe dare
risultati imprevisti; si declina ogni responsabilità.:-D)
Fratello, credo di alzarmi quando tu vai a letto... ;-)
Prova a lasciare sempre invariato questo:
.DecimalSeparator = "."
.ThousandsSeparator = ","
in entrambe le routine.
Io non ho provato.
--
---------------------------
Mauro Gamberini
http://www.riolab.org/
http://blog.maurogsc.eu/
http://social.microsoft.com/Forums/it-IT/officeit/threads
"Mauro Gamberini" ha scritto:
> > Ciao Mauro.
> > Mi sono annodato, o forse è colpa del mio malandato laptop, ma necessito
> > della tua fraterna consulenza.
> > La avrei pensata così, ma la cosa appare alquanto ballerina, della serie:
> > Come le bracioline, avvolte si, avvolte no.:-))
> >
>
> Fratello, credo di alzarmi quando tu vai a letto... ;-)
>
> Prova a lasciare sempre invariato questo:
>
> .DecimalSeparator = "."
> .ThousandsSeparator = ","
>
> in entrambe le routine.
> Io non ho provato.
Grazie Mauro, ma non vedo differenze.
L'ipotesi voleva essere:
a) Aprire il file normalmente
b) Terminati i lavori sul file, lanciare la macro Modifica separatori
c) Copiare il file in un nuovo file
d) Chiudere il nuovo file
e) Lanciare la macro Ripristina separatori
f) Salvare e chiudere il file originale
La macro Modifica separatori cambia effettivamente il formato dei valori
numerici, ma non funziona se, dopo il lancio, immetto valori numerici; in
questo caso, se immetto il valore 123456,78 mi aspetterei di vederlo
formattato come 123.456,78 mentre lo tratta come testo, cioè lo vedo come
123456,78 allineato a sx nonostante che la formattazione della cella risulti
con virgola decimale e punti per le migliaia.
Se trovo la voglia farò ancora qualche prova, altrimenti lascio perdere il
tutto.
Saluti
Eliano
"lorenzo" ha scritto:
Ciao Lorenxo.
Una domanda: parli di un "foglio" nel quale vuoi applicare ai valori
numerici la formattazione con punto decimale e virgola per le migliaia.
Questo significa che in un file hai un foglio al quale applicare quella
formattazione ed altri fogli con formattazione normale ?
Qual'è il motivo del progetto: l'utente che riceve quel foglio usa una
versione inglese di XL ?
Grazie e saluti
Eliano
Preso da morbosa curiosit� ho provato anche io!
allora, ho messo i codici come sopra nel modulo thisworkbook come segue:
Private Sub Workbook_Open()
With Application
.DecimalSeparator = "."
.ThousandsSeparator = ","
.UseSystemSeparators = False
End With
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
With Application
.DecimalSeparator = ","
.ThousandsSeparator = "."
.UseSystemSeparators = True
End With
End Sub
poi ho settato le celle dove immetto i dati nel formato "numero" e "usa
separatore delle migliaia"
vi sembrer� strano ma funziona!
e se funziona a me che non ci capisco una cippa vi vb e macro........
Grazie a tutti quanti che con la loro tempo e pazienza ci aiutano con i
nostri problemi, grazie davvero
Saluti Giancarlo
P.s. adesso sto usando excel 2007, non so se funziona anche con le prec.
"giancarlo61" ha scritto:
>
> "eliano" <eli...@discussions.microsoft.com> ha scritto nel messaggio
> news:52E83CD2-4CFE-4577...@microsoft.com...
> >
> > Ciao Mauro.
> > Mi sono annodato, o forse è colpa del mio malandato laptop, ma necessito
> > della tua fraterna consulenza.
> > La avrei pensata così, ma la cosa appare alquanto ballerina, della serie:
> > Come le bracioline, avvolte si, avvolte no.:-))
> >
> > Option Explicit
> >
> > Public Sub modificaseparatori()
> > With Application
> > 'Modifica settaggio del formato numerico
> > .DecimalSeparator = "."
> > .ThousandsSeparator = ","
> > .UseSystemSeparators = False
> > End With
> > End Sub
> >
> > Public Sub ripristinaseparatori()
> > With Application
> > 'Ripristina settaggio formato numerico
> > .DecimalSeparator = ","
> > .ThousandsSeparator = "."
> > .UseSystemSeparators = True
> > End With
> > End Sub
> >
> > Vuoi essere così cortese da dargli un'occhiata perchè funziona a corrente
> > alternata, in particolare (credo) per quel boolean malefico, anche se il
> > ripristino avviene correttamente; non l'ho provata in una Open e nella
> > conseguente BeforeClose.
> > Baci ai piccoli e cordialità ai grandi.
> > Eliano
> > P.S. Avvertenza per il volgo: l'uso delle predette routines potrebbe dare
> > risultati imprevisti; si declina ogni responsabilità.:-D)
>
> Preso da morbosa curiosità ho provato anche io!
> allora, ho messo i codici come sopra nel modulo thisworkbook come segue:
>
> Private Sub Workbook_Open()
> With Application
> ..DecimalSeparator = "."
> ..ThousandsSeparator = ","
> ..UseSystemSeparators = False
> End With
> End Sub
>
> Private Sub Workbook_BeforeClose(Cancel As Boolean)
> With Application
> ..DecimalSeparator = ","
> ..ThousandsSeparator = "."
> ..UseSystemSeparators = True
> End With
> End Sub
>
> poi ho settato le celle dove immetto i dati nel formato "numero" e "usa
> separatore delle migliaia"
> vi sembrerà strano ma funziona!
> e se funziona a me che non ci capisco una cippa vi vb e macro........
> Grazie a tutti quanti che con la loro tempo e pazienza ci aiutano con i
> nostri problemi, grazie davvero
> Saluti Giancarlo
> P.s. adesso sto usando excel 2007, non so se funziona anche con le prec.
>
>
Ciao Giancarlo.
Quando l'autore di una/due macro scrive una cosa di questo genere:
> > P.S. Avvertenza per il volgo: l'uso delle predette routines potrebbe dare
> > risultati imprevisti; si declina ogni responsabilità.:-D)
penso che avresti dovuto usare più cautela nell'utilizzo delle predette macro.
Il fatto che non avessi risposto direttamente a te, ma avessi sottoposto le
due macro all'attenzione di Mauro avrebbe dovuto farti pensare; quindi
rileggi attentamente la mia risposta a Mauro, fai le debite prove e le
conseguenti considerazioni derivanti dal fatto che per tutto il tempo che
intercorre fra la Open ed il successivo BeforeClose di quel file, gli
eventuali altri file .xls aperti dovrebbero assumere la formattazione
richiesta dalla Open.
Da parte mia, non essendo riuscito a risolvere il problema, oltre a non aver
capito il perchè del malfunzionamento, non posso che ripetere il chiaro
avviso indirizzato a tutti gli eventuali lettori.
Saluti
Eliano
"giancarlo61" ha scritto:
> Ciao Eliano, non credo che queste macro possano essere pericolose visto che
> le stesse mi sono state riportate con l' autocompilazione macro e gli
> "esperimenti" li faccio su un pc secondario, sono un pivello ma mica così
> sprovveduto ;-)
> E tutto questo grazie anche ai vostri preziosi consigli.
> Poi nel riportare i risultati forse sono stato forse troppo tempestivo e
> incauto non avendoli testati effettivamente con più fogli aperti e chiedo
> venia.
> Saluti
> Giancarlo
>
Ciao Giancarlo.
Nessun problema da parte mia: quello che avevo da dire te l'ho detto
chiaramente.
Per l'autocomposizione forse non hai le idee molto chiare; prova questa
macro, di per se esaustiva dell'argomento.:-))
Sub Macro2()
'
' Macro2 Macro
' Macro registrata il 21/09/2009 da eliano
'
ActiveCell.FormulaR1C1 = "G.Carlo"
Range("A1:K1").Select
Selection.FillRight
Range("A1:K30").Select
Selection.FillDown
MsgBox "Prova composizione: ho inserito i dati come richiesto"
Cells.Select
Selection.Delete Shift:=xlUp
Range("A1").Select
MsgBox "E non ti arrabbiare: ho solo eseguito le tue istruzioni"
End Sub
Per quanto riguarda i test di macro, Udf, formule inserite in fogli .xls ti
posso garantire che non potranno (quasi) mai essere esaustivi essendo basati
su analisi preliminari del problema che, nella dinamica personale o
aziendale, possono essere soggette a modifiche anche banali per le quali non
viene ritenuta necessaria la modifica o la comunicazione.
Inoltre quando, in qualsiasi "Application", si vanno a toccare settaggi
specifici di Windows o di Excel (da XL puoi modificare anche il registro di
sistema) occorre avere una visione globale dell'intero sistema che abbiamo o
che avranno in uso, effettuando i necessari ripristini; pensa alla modifica
di una barra dei menu che resta invariata per tutta la "Application" se non
ne ripristini l'originale.
Cordialmente
Eliano
"lorenzo" ha scritto:
Ciao Lorenzo.
Stasera stavo rileggendo il thread quando sono rimasto fulminato da una
cazzata che avevo scritto.
Mi riferisco al test da me effettuato per l'immissione di valori numerici,
affermando che se immettevo un valore 123456,78 non ottenevo un valore ma
solo un testo.
Le mie sinapsi non avevavo ricollegato il fatto che se nella formattazione
uso un separatore decimale con il punto (.), quando gli vo a dare un valore
con una virgola (,) il bravo Excel (lo possino), non mi manda a quel paese ma
la interpreta come stringa e si comporta correttamente. :-))
Poichè per riservare il funzionamento di quella "particdolare" formattazione
a quell'UNICO file, l'unico problema era quello sopradescritto, prova:
Copia queste routines nel Modulo ThisWorkbook:
Option Explicit
Private Sub Workbook_Activate()
Call modificaseparatori
End Sub
Private Sub Workbook_Deactivate()
Call ripristinaseparatori
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Call ripristinaseparatori
End Sub
Quindi in un Modulo Standard, ad esempio in Modulo1, copiaci queste routines:
Public Sub modificaseparatori()
With Application
'Setta formato numerico inglese
.DecimalSeparator = "."
.ThousandsSeparator = ","
.UseSystemSeparators = False
End With
End Sub
Public Sub ripristinaseparatori()
With Application
'Ripristina formato numerico italiano
.DecimalSeparator = ","
.ThousandsSeparator = "."
.UseSystemSeparators = True
End With
End Sub
Penso che dovrebbe funzionare, comunque fai le debite prove e facci sapere.
Saluti
Eliano
P.S. Rileggendo, mi accorgo adesso che non sarebbe male rilevare la
situazione dei separatori di XL nell'evento Open e ripristinare "quelle"
nell'evento Before_Close, ma adesso non ne ho voglia e devo velocemente
staccare per almeno mezz'ora.
Grazie a te per il riscontro.
Comunque sia l'Activate che il Deactivate sono necessarie, mentre il
Before_Close è una precauzione inutile; sarebbe come se indossassi sia
la cintura che le bretelle per reggere i pantaloni.
[Anticipando Mauro: i bermuda avevano una cintura elastica
incorporata.:-D)]
Saluti
Eliano
P.S. MS ha ripreso a bischereggiare