Dividere il testo in più celle

Filippo ha una serie di celle che contengono testo. Parte del testo è troppo lungo, quindi deve dividerlo in più celle. Ad esempio, se una cella contiene “la volpe bruna è furba”, Filippo ha bisogno di dividere il testo in modo che nessuna parte sia più lunga di 12 caratteri. Filippo potrebbe farlo facilmente. Ma vuole assicurarsi che la divisione avvenga nello spazio prima del 12° carattere, piuttosto che nel 12° carattere esatto. Phil non sa come farlo.

Potresti pensare di utilizzare lo strumento Testo in colonne di Excel, ma non è adatto per lo scopo. Se imposti lo strumento per dividere il testo in base a delimitatori, come uno spazio, ti ritroverai con una sola parola in ogni cella. Se imposti lo strumento per dividere il testo come “larghezza fissa”, le parole non vengono suddivise in base agli spazi; lo strumento si assicura solo che ogni segmento sia di qualsiasi dimensione tu specifichi.

È possibile utilizzare una formula per ottenere i risultati desiderati, ma così facendo si ottengono formule sorprendentemente lunghe. Ad esempio, se il testo troppo lungo si trovasse nella cella A3, è possibile utilizzare la seguente formula per separare il primo pezzo di quel testo, nello spazio prima del dodicesimo carattere:

=SE(LUNGHEZZA($A3)>12;SE(VAL.ERRORE(TROVA(" ";STRINGA.ESTRAI($A3;12;1)
&STRINGA.ESTRAI($A3;11;1)&STRINGA.ESTRAI($A3;10;1)&STRINGA.ESTRAI($A3;9;1)&STRINGA.ESTRAI($A3;8;1)
&STRINGA.ESTRAI($A3;7;1)&STRINGA.ESTRAI($A3;6;1)&STRINGA.ESTRAI($A3;5;1)&STRINGA.ESTRAI($A3;4;1)
&STRINGA.ESTRAI($A3;3;1)&STRINGA.ESTRAI($A3;2;1)));STRINGA.ESTRAI($A3;1;1);STRINGA.ESTRAI($A3;1;
13-TROVA(" ";STRINGA.ESTRAI($A3;12;1)&STRINGA.ESTRAI($A3;11;1)&STRINGA.ESTRAI($A3;10;1)
&STRINGA.ESTRAI($A3;9;1)&STRINGA.ESTRAI($A3;8;1)&STRINGA.ESTRAI($A3;7;1)&STRINGA.ESTRAI($A3;6;1)
&STRINGA.ESTRAI($A3;5;1)&STRINGA.ESTRAI($A3;4;1)&STRINGA.ESTRAI($A3;3;1)&STRINGA.ESTRAI($A3;2;1))));DESTRA($A3;LUNGHEZZA($A3)))

Ricorda: questa è tutta un’unica formula, solo per ottenere il primo pezzo. Le formule per ottenere il secondo, il terzo, il quarto e i successivi blocchi sono ancora più lunghe. Chiaramente, l’utilizzo di una formula potrebbe non essere l’approccio migliore.

Questo ci porta all’utilizzo di una macro. Una macro può esaminare la stringa di testo e tagliarla facilmente in pezzi della lunghezza desiderata. Considera la seguente funzione definita dall’utente (UDF):

Questo contenuto è riservato agli abbonati

Solo gli utenti con Abbonamento VBA Coder oppure Ultimate possono visionarlo.

Se sei già abbonato Accedi per sbloccare il contenuto!

In caso contrario abbonati qui! L'abbonamento è conveniente.

E puoi interromperlo in ogni momento e in completa autonomia.

ABBONATI

(puoi renderti conto di quanti siano i contenuti riservati

raggiungendo questa pagina)

Tags: , , , , , , , , , , ,

Ti è stato utile?