Converti virgole in punti



  • 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!