You are here:Home-Domande su Excel VBA e MACRO-[RISOLTO] Sostituire caratteri speciali
[RISOLTO] Sostituire caratteri speciali2018-12-10T18:37:25+01:00

Home Forum Domande su Excel VBA e MACRO [RISOLTO] Sostituire caratteri speciali

Visualizzazione 10 filoni di risposte
  • Autore
    Post
    • Avatarrexottantotto
      Partecipante
        Post totali: 175

        Ciao,
        nelle Celle A1:A150 del Foglio1 ho alcuni dati con questi caratteri:
        À, È, Ì, Ò, Ù, &, ’, °
        Come posso fare con vba per sostituire:
        À, È, Ì, Ò, Ù, &
        con
        à, è, ì, ò, ù, e
        ed eliminare l’apostrofo ’ e il carattere °

        Grazie

        • Questo topic è stato modificato 1 anno, 5 mesi fa da sidsid.
      • Avatarrexottantotto
        Partecipante
          Post totali: 175

          Volevo precisare.

          I caratteri speciali si trovano in alcune celle del Range A1:A150 del Foglio1.

        • sidsid
          Moderatore
            Post totali: 749

            Puoi postare un file di prova? grazie

          • Avatarrexottantotto
            Partecipante
              Post totali: 175

              Ho fatto un esempio con poche celle.

              Gli spazi stanno a significare che le celle che contengono le stringhe con caratteri speciali non è detto che devono essere una dopo l’altra.

              http://www.filedropper.com/caratterispeciali

            • Avatarrexottantotto
              Partecipante
                Post totali: 175

                Mi ero dimenticato un altro carattere che va sostituito:

                la virgola con il punto.

                Esempio:

                Cella A37

                1200,48

                la virgola va sostituita con il punto, per cui diventa

                1200.48

              • sidsid
                Moderatore
                  Post totali: 749

                  ed eliminare l’apostrofo ’ e il carattere °

                  L’aiuola diventa Laiuola o L aiuola?

                • Avatarrexottantotto
                  Partecipante
                    Post totali: 175

                    Laiuola

                  • sidsid
                    Moderatore
                      Post totali: 749

                      Questa macro è adattata al file di prova che hai mandato.
                      Inserisce le stringhe modificate nella colonna B.
                      Se va bene possiamo adattarlo al file originale.

                      Sub prova()
                      
                      Dim vAccento As Variant, vNoAccento As Variant
                      Dim rng As Range, cl As Range
                      Dim j As Long
                      
                      vAccento = Array("à", "á", "è", "é", "ì", "í", "ò", "ó", "ù", "ú", _
                                  "À", "Á", "È", "É", "Ì", "Í", "Ò", "Ó", "Ù", "Ú", "&", "°", "'", ",")
                      vNoAccento = Array("a", "a", "e", "e", "i", "i", "o", "o", "u", "u", _
                                  "A", "A", "E", "E", "I", "I", "O", "O", "U", "U", "e", "", "", ".")
                      
                      Set rng = Sheets("Foglio1").Range("A1:A35") 'nome tuo foglio
                      
                      For Each cl In rng
                          For j = LBound(vAccento) To UBound(vAccento)
                              If InStr(1, cl.Value, vAccento(j), vbBinaryCompare) > 0 Then
                                  cl.Offset(0, 1).Value = Application.WorksheetFunction.Substitute(cl.Value, vAccento(j), vNoAccento(j))
                              End If
                          Next j
                      Next cl
                      Set rng = Nothing
                      End Sub

                      fa sapere, ciao.

                    • Avatarrexottantotto
                      Partecipante
                        Post totali: 175

                        Funziona tutto.

                        In un messaggio precedente avevo anche aggiunto un altro dato nell’esempio:

                        Nella Cella A37 ho questo importo 1200,48

                        La macro dovrebbe sostituire con il punto, per cui diventa

                        1200.48

                        Si potrebbe aggiungere alla macro?

                        Grazie

                      • Avatarrexottantotto
                        Partecipante
                          Post totali: 175

                          Mi correggo.

                          Ho visto che nella macro il range era

                          A1:A35

                          l’ho modificato in

                          A1:A37

                          soltanto che nella cella B37 riporta lo stesso importo:

                          1220,48

                        • Avatarrexottantotto
                          Partecipante
                            Post totali: 175

                            Ho corretto il formato della Cella A37 da “Generale” a “Testo”.

                            Ho richiamato la macro e adesso funziona.

                            Si può mettere

                            RISOLTO

                            Grazie

                        Visualizzazione 10 filoni di risposte
                        • Il topic ‘[RISOLTO] Sostituire caratteri speciali’ è chiuso a nuove risposte.