Risultati da 1 a 10 di 10

Discussione: rimuovere spazi di troppo nella cella



  1. #1
    L'avatar di nessi
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Milano
    Età
    53
    Messaggi
    159
    Versione Office
    2013/2016
    Likes ricevuti
    3
    Likes dati
    35

    rimuovere spazi di troppo nella cella

    ciao a tutti.
    questa la vedo ... vabbè, un po' particolare.
    nel file allegato ci sono delle celle che contengono delle stringhe con più parole. ovviamente in mezzo ci sono degli spazi.
    il mio problema è che a causa di un'importazione da altro programma, in coda ci sono spazi anche particolarmente lunghi (alcune celle arrivano fino a 100 spazi). nello stesso file c'è una sub che utilizzo per altre funzionalità, ovviamente non posso utilizzarla altrimenti mi rimuoverebbe anche gli spazi tra le parole.
    ultima complicazione: in coda alla stringa mi deve rimanere uno spazio.

    potete darmi un'idea?
    File Allegati File Allegati

  2. #2

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Como
    Età
    53
    Messaggi
    7121
    Versione Office
    2011MAC 2016WIN
    Likes ricevuti
    2060
    Likes dati
    1298

    Re: rimuovere spazi di troppo nella cella

    Ciao,
    in sostanza se ho capito bene vuoi rimuovere tutti gli spazi tra le parole e anche quelli iniziali e finali.

    Prova con questa sub
    Codice: 
    Sub annulla_spazi()
        Dim wks As Worksheet
        Dim y As Long
        Set wks = Worksheets("Foglio1")
        Application.ScreenUpdating = False
        For y = 1 To 100
          With wks.Range("A" & y)
            .Value = Trim(.Value)
            Do While InStr(1, .Value, "  ") > 0
              .Value = Replace(.Value, "  ", " ")
            Loop
          End With
        Next
        Set wks = Nothing
        Application.ScreenUpdating = True
    End Sub
    Quando si scartano tutte le ipotesi possibili, quella che resta, anche se può sembrare improbabile, non può che essere quella giusta!

  3. #3
    L'avatar di nessi
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Milano
    Età
    53
    Messaggi
    159
    Versione Office
    2013/2016
    Likes ricevuti
    3
    Likes dati
    35

    Re: rimuovere spazi di troppo nella cella

    ciao Ges, scusa non mi sono spiegato bene.
    gli spazi tra le parole devono rimanere, più uno in coda.

  4. #4

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Como
    Età
    53
    Messaggi
    7121
    Versione Office
    2011MAC 2016WIN
    Likes ricevuti
    2060
    Likes dati
    1298

    Re: rimuovere spazi di troppo nella cella

    Ma hai provato la sub?
    File Allegati File Allegati
    Quando si scartano tutte le ipotesi possibili, quella che resta, anche se può sembrare improbabile, non può che essere quella giusta!

  5. #5
    L'avatar di patel
    Clicca e Apri
    Data Registrazione
    Mar 2016
    Località
    Livorno
    Età
    72
    Messaggi
    1101
    Versione Office
    2010
    Likes ricevuti
    141
    Likes dati
    1

    Re: rimuovere spazi di troppo nella cella

    Codice: 
    Sub ToglieSpazi()
    Dim Sh As Worksheet
    Dim LRiga As Long
    Dim Lng As Long
    Set Sh = ThisWorkbook.Worksheets("Foglio1")
    With Sh
    LRiga = .Range("A" & .Rows.Count).End(xlUp).Row
    For Lng = 1 To LRiga
     .Cells(Lng, "A").Value = Trim(.Cells(Lng, "A").Value) & " "
    Next
    End With
    Set Sh = Nothing
    End Sub

  6. #6
    L'avatar di rollis13
    Clicca e Apri
    Data Registrazione
    Nov 2015
    Località
    Cordenons
    Messaggi
    810
    Versione Office
    2016 64bit
    Likes ricevuti
    145
    Likes dati
    53

    Re: rimuovere spazi di troppo nella cella

    Per avere uno spazio anche a fine riga alla macro di ges (che saluto) ti basta aggiungere questa riga subito dopo il comando "Loop" e prima del "End With":

    .Value = .Value & " "

  7. I seguenti utenti hanno dato un "Like"


  8. #7

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Como
    Età
    53
    Messaggi
    7121
    Versione Office
    2011MAC 2016WIN
    Likes ricevuti
    2060
    Likes dati
    1298

    Re: rimuovere spazi di troppo nella cella

    Ciao Rollis,
    la richiesta dello spazio alla fine mi era sfuggito, grazie del tuo suggerimento che uso per modificare il codice:

    Codice: 
    Sub annulla_spazi()
        Dim wks As Worksheet
        Dim y As Long
        Set wks = Worksheets("Foglio1")
        Application.ScreenUpdating = False
        For y = 1 To 100
            With wks.Range("A" & y)
                .Value = Trim(.Value)
                Do While InStr(1, .Value, "  ") > 0
                    .Value = Replace(.Value, "  ", " ")
                Loop
                .Value = .Value & " "
            End With
        Next
        Set wks = Nothing
        Application.ScreenUpdating = True
    End Sub
    Quando si scartano tutte le ipotesi possibili, quella che resta, anche se può sembrare improbabile, non può che essere quella giusta!

  9. I seguenti utenti hanno dato un "Like"


  10. #8
    L'avatar di nessi
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Milano
    Età
    53
    Messaggi
    159
    Versione Office
    2013/2016
    Likes ricevuti
    3
    Likes dati
    35

    Re: rimuovere spazi di troppo nella cella

    Ges! Accidenti, scusami. ho letto di fretta (sono ancora al lavoro) ed ho mal interpretato.
    con l'aggiunta della riga suggerita da rollis13 è perfetta.
    ora me la studio.

    un po' mi deprime :251:, vista così non sembra poi così tanto complicata. però io non mollo, assicuro che insisto:235:

    grazie mille ancora a tutti.

  11. #9

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Como
    Età
    53
    Messaggi
    7121
    Versione Office
    2011MAC 2016WIN
    Likes ricevuti
    2060
    Likes dati
    1298

    Re: rimuovere spazi di troppo nella cella

    Non è difficile nessi, te lo riporto con le spiegazioni

    Codice: 
    Sub annulla_spazi()
    Dim wks As Worksheet 'dichiaro le variabili
    Dim y As Long
    Set wks = Worksheets("Foglio1") 'imposto come wks il Foglio1
     Application.ScreenUpdating = False 'evito lo sfarfallio nell’esecuzione della macro
        For y = 1 To 100
            With wks.Range("A" & y) 'spazzolo la colonna A per ogni valore (da A1 a A100)
                .Value = Trim(.Value) 'tolgo tutti gli spazi iniziali e finali
                Do While InStr(1, .Value, "  ") > 0 'cerco per ogni stringa quando c’è più di uno spazio indipendentemente dal numero
                    .Value = Replace(.Value, "  ", " ") 'sostituisco tutti gli spazi trovati con un solo spazio
                Loop
                .Value = .Value & " "  'aggiungo uno spazio alla fine della stringa
            End With
        Next
        Set wks = Nothing
        Application.ScreenUpdating = True 'ripristino l'istruzione sopra inibita
    End Sub
    Questo codice è stato perfezionato dal grande scossa e lo custodisco gelosamente. :90:
    Quando si scartano tutte le ipotesi possibili, quella che resta, anche se può sembrare improbabile, non può che essere quella giusta!

  12. I seguenti utenti hanno dato un "Like"


  13. #10
    L'avatar di nessi
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Milano
    Età
    53
    Messaggi
    159
    Versione Office
    2013/2016
    Likes ricevuti
    3
    Likes dati
    35

    Re: rimuovere spazi di troppo nella cella

    Grazie Ges! il grande Scossa si! non c'è forum di Excel dove non l'abbia già incrociato. anche con altri nikname.
    effettivamente è semplice ... evidentemente è la forma mentis quella che non sono ancora riuscito a formattare. ma ... come ho già detto ... non mollo.
    un abbraccio a tutti! (tanto ci rileggeremo di sicuro :271:)

Discussioni Simili

  1. [Risolto] Se cella occupata, incolla valore nella cella sotto (da ripetersi per molte volte)
    Di Gatt88 nel forum Domande su Excel VBA e MACRO
    Risposte: 7
    Ultimo Messaggio: 02/03/17, 13:49
  2. 2 Formule nella stessa cella?
    Di Theinvoker nel forum Domande su Excel in generale
    Risposte: 13
    Ultimo Messaggio: 26/03/16, 16:14
  3. Inserire in testo presente nella cella un valore ricavato da un altra cella
    Di Bestpaul nel forum Domande su Excel in generale
    Risposte: 5
    Ultimo Messaggio: 07/12/15, 17:05
  4. Colore cella nella classifica campionato
    Di Gius nel forum Domande su Excel VBA e MACRO
    Risposte: 11
    Ultimo Messaggio: 12/09/15, 19:49
  5. Multiplo nella stessa cella
    Di MauroS nel forum Domande su Excel VBA e MACRO
    Risposte: 22
    Ultimo Messaggio: 18/07/15, 16:40

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •