You are here:--[RISOLTO] Sostituire caratteri speciali
[RISOLTO] Sostituire caratteri speciali2018-12-10T18:37:25+02:00

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

  • Autore
    Articoli
  • Avatarrexottantotto
    Partecipante
      Post totali: 156

      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 argomento è stato modificato 8 mesi, 1 settimana fa da sid sid.
    • Avatarrexottantotto
      Partecipante
        Post totali: 156

        Volevo precisare.

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

      • sidsid
        Moderatore
          Post totali: 718

          Puoi postare un file di prova? grazie

        • Avatarrexottantotto
          Partecipante
            Post totali: 156

            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: 156

              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: 718

                ed eliminare l’apostrofo ’ e il carattere °

                L’aiuola diventa Laiuola o L aiuola?

              • Avatarrexottantotto
                Partecipante
                  Post totali: 156

                  Laiuola

                • sidsid
                  Moderatore
                    Post totali: 718

                    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: 156

                      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: 156

                        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: 156

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

                          Ho richiamato la macro e adesso funziona.

                          Si può mettere

                          RISOLTO

                          Grazie

                        La discussione ‘[RISOLTO] Sostituire caratteri speciali’ è chiusa a nuove risposte.

                        Utilizzando il sito, accetti l'utilizzo dei cookie da parte nostra. maggiori informazioni

                        Questo sito utilizza i cookie per fornire la migliore esperienza di navigazione possibile. Continuando a utilizzare questo sito senza modificare le impostazioni dei cookie o cliccando su "Accetta" permetti il loro utilizzo.

                        Chiudi