La Funzione Trim - precisazioni (23/06/03) Abbiamo già visto, nell'articolo "Funzioni Stringa" in questa sezione, come lavora la funzione TRIM.
La Funzione Trim serve per rendere un valore
stringa (cioè del testo) SENZA spazi iniziali o finali (con le Funzioni
Trim non vengono eliminati gli spazi "intermedi"
).
applicando la funzione Trim ci troveremmo ad aver eliminato gli spazi prima di Procopio e dopo Lacustre, MA non avremmo eliminato gli spazi tra Procopio e Lacustre, ed avremo:
E fin qui niente di nuovo, sotto il sole. Ma la funzione TRIM possiede una sorella gemella che corrisponde all'italiano ANNULLA.SPAZI . Anche qui niente di nuovo; quasi tutte le funzioni disponibili (in italiano) sul foglio di lavoro, hanno le corrispondenti funzioni in inglese da usare con il codice vba, e viceversa. Solo che la funzione Annulla.Spazi fà qualcosa di diverso dalla sorella Trim. Leggiamo cosa dice la guida in linea in merito alla funzione Annulla.Spazi :
"Rimuove tutti
gli spazi dal testo ad eccezione dei
singoli spazi tra le parole. Utilizzare
la funzione ANNULLA.SPAZI sul testo creato con altre applicazioni che può
presentare una distribuzione irregolare degli spazi."
Anche un sordo nota che in questo caso sono stati eliminati tutti gli spazi vuoti, tranne uno tra Procopio e Lacustre. E questo alla faccia di noi "pellegrini" che troppo spesso diamo per scontato che le cose simili si comportino similmente, o quanto meno erriamo nel considerarle uguali. In realtà le due funzioni devono essere usate con modalità diverse. La funzione Trim, via codice, ci consente di modificare il testo contenuto in una cella, AGENDO direttamente sulla cella stessa, esempio:
Sub miaElido() In questo caso verranno eliminati solo gli spazi iniziali e finali, ma non intermedi, e lo facciamo direttamente nella cella stessa. Per vederla lavorare come lavora Annulla.Spazi, la funzione Trim va trasformata in FORMULA. Come tale, però, non potrà essere inserita nella stessa cella che si vuole "trimmare" (si genera un errore di tipo "riferimento circolare") ma dovremo usare un'altra cella per ospitare la cella "trimmata", così.
Sub miaElidos() Ed avremo in A2 il nome senza spazi tranne lo spazio tra le due parole. Mi sembrava doveroso far notare le diversità nell'uso che si fa della stessa funzione, italiana o inglese che sia.
|