Converti virgole in punti
Hai un problema con Excel? 
Converti virgole in punti
di Divikos (utente non iscritto) data: 25/02/2015 12:39:41
Ciao a tutti,
avrei bisogno di una macro che converte i punti in virgola per tutte le celle che si trovano in determinate colonne del mio foglio, in maniera tale da poter incollare i numeri presenti da altra fonte che utilizza la "," e far girare una query che sostituisca tutte le "," con "."
So che è facile farlo in altri modi ma vorrei mettere su una query visto la mole di dati ed il numero di volte che ripeto l'operazione.
Sarà una banalità per voi ma io sto impazzendo :D
Confido in un vostro aiuto.
Allego un file di esempio.
Le colonne dove apportare la trasformazione virgola - punto sono dalla C alla O.
Grazie mille
Vittorio
di ninai (utente non iscritto) data: 25/02/2015 14:25:53
ma se selezioni c2:o10 e dal menù home usi l'icona "sostituisci" : "trova" . "sostituisci con" ,
che problemi ti crea??
di Mister_x (utente non iscritto) data: 25/02/2015 14:32:05
ciao
da inserire nel foglio di utilizzo
ciao
Option Explicit
Sub Punto_Virgola()
Dim C_O As Range
Dim cella As Variant
Set C_O = Range("C1:O" & Cells(Rows.Count, "O").End(xlUp).Row)
For Each cella In C_O
Cells(cella.Row, cella.Column) = Replace(cella, ".", ",")
Next
Set C_O = Nothing
End Sub
|
di Vecchio Frac data: 25/02/2015 14:54:41
@ninai
OP: "è facile farlo in altri modi "
---> hai tirato fuori dal cilindro il coniglio più facile ^_^
OP: "ma vorrei mettere su una query visto la mole di dati ed il numero di volte che ripeto l'operazione. "
---> qui non è chiaro cosa intende per "mettere su una query" in effetti
ci siamo quasi
di divikos (utente non iscritto) data: 25/02/2015 15:19:09
ciao mister x,
innanzitutto grazie x il supporto, ma se ancora non ci siamo è perché mi sono espresso male. Mea culpa.
la macro mi sostituisce il punto "." con la "," ma a me serve il contrario: deve sostituire la virgola "," con il punto "."
Ho provato a invertire banalmente "," e "." nella quart'ultima riga ma niente
di alfrimpa data: 25/02/2015 15:41:39
Ciao
Ho provato con il "Trova" e "Sostituisci tutti" ed ha funzionato senza problemi; tutte le virgole sono state sostituite dai punti per un totale di 58 sostituzioni.
Alfredo
grazie comunque
di divikos (utente non iscritto) data: 25/02/2015 16:04:06
Ciao Alfredo,
si con il trova e sostituisci si risolve in maniera rapida. Tuttavia, dato che il foglio deve essere utilizzato da utenti senza alcuna competenza in Excel, è mia esigenza creare una macro attivata nel foglio tramite un "bottone" per svolgere questo servizio.
Grazie comunque.
Vittorio
di alfrimpa data: 25/02/2015 16:23:16
Ciao Vittorio
Allora crea una macro con il Registratore di macro facendo esattamente le operazioni di Trova e Sostituisci tutti.
Poi sul foglio di lavoro inserisci una "forma" dal menù Inserisci, selezionala e con il tasto dx del mouse seleziona Assegna macro ed associ la macro che hai registrato alla forma.
Alfredo
P.S. Considerazione personale:ma per fare un "Trova "e "Sostituisci tutti" non è che ci sia bisogno di una laurea in Informatica; basta cliccare sull'icona Trova e Seleziona che è l'ultima a destra del menù Home
di Vecchio Frac data: 25/02/2015 16:31:39
@Alfredo non c'è niente di scontato purtroppo... ho colleghi che fanno fatica anche coi comandi più elementari. Soprattutto adesso che ci hanno sostituito tutte le versioni 2003 con le 2007... un dramma per qualcuno :)
di alfrimpa (utente non iscritto) data: 25/02/2015 16:56:00
Ma la mia non era assolutamente una "reprimenda". Se ho dato questa impressione me ne scuso.
Penso che le persone vadano "educate" (ovviamente fin dove possibile).
Almeno io mi son sempre comportato così nella mia vita professionale e non.
Alfredo
di Mister_x (utente non iscritto) data: 25/02/2015 17:02:33
ciao
io avevo capito al contrario dal . alla ,
questa fa il lavoro che dici
ciao
Option Explicit
Sub Punto_Virgola()
Dim C_O As Range
Dim cella As Variant
Set C_O = Range("C1:O" & Cells(Rows.Count, "O").End(xlUp).Row)
For Each cella In C_O
If IsNumeric(cella) Then
Cells(cella.Row, cella.Column).NumberFormat = "@"
Cells(cella.Row, cella.Column) = Replace(cella, ",", ".")
End If
Next
Set C_O = Nothing
End Sub
|
Grazie Mille
di Divikos (utente non iscritto) data: 25/02/2015 17:57:38
Alla grande! Così funziona perfettamente!
Vuoi Approfondire?