2015-07-31 18 views
5

Ho circa 4000 celle, ciascuna con circa 4 righe di testo separate. Ogni riga di testo è stata inserita usando il metodo ALT + INVIO.Excel: cella con più righe di testo in una riga di testo

Qualcuno può suggerire un modo, VBA o comando/metodo Excel per convertire ciascuna di queste celle in una riga, con spazi tra le parole.

Esempio: attuale cellulare 1:

  • Chi
  • Cavallo
  • Dog

Necessità: cellulare 1:

  • su Horse Cane

Ogni aiuto è molto apprezzato

risposta

6

Prova questa breve macro:

Sub dural() 
    Dim rng As Range 
    Set rng = Selection 
    rng.Replace what:=Chr(10), lookat:=xlPart, replacement:=" " 
End Sub 
6

ALT + INVIO crea un personaggio chiamato vbLf (per Visual Line Feed di base). Si vuole semplicemente sostituire il vbLf con uno spazio, in questo modo:

Sub test() 
    Dim str As String 
    str = Range("A1") 
    Debug.Print str 
    str = Replace(str, vbLf, " ") 
    Debug.Print str 
End Sub 

per collocarlo in un ciclo:

Sub test() 
    dim i as integer 
    Dim str As String 

    for i = 1 to 10 '(however many you want, can also be dynamic - use XlUp if you want to) 
     str = Range("A" & i) 
     Debug.Print str 
     str = Replace(str, vbLf, " ") 
     Debug.Print str 
    next 
End Sub 
+0

Ciò risolverebbe solo la cella A1. Per utilizzare la funzione 'Sostituisci' per correggere tutte le celle, dovrai eseguire il ciclo su tutte le celle. –

+0

Beh ... sì. È sufficiente posizionarlo in un ciclo for. Posso aggiungerlo se pensi che sia necessario. –

+0

Avete programmato questo codice in loop su oltre 4000 celle? Come esercizio unico questo può essere adeguato ma non penso che questo sia un buon approccio. –

3

Penso che questo farà ciò che si vuole:

Sub Macro1() 

    Cells.Replace What:=vbLf, Replacement:=" ", LookAt:=xlPart 

End Sub 
6

di fare questo senza VBA:

Utilizzare Trova e sostituisci.

Nella casella di ricerca, tenere premuto ALT e digitare 0010 (il codice ASCII per l'avanzamento riga è 10 - non si vedrà nulla, ma si tratta di un carattere di nuova riga).

Nella casella di sostituzione, digitare semplicemente un carattere di spazio o un delimitatore.

Fare clic sul pulsante Replace all.

Problemi correlati