Estrarre una stringa di testo da una cella Excel

Vediamo come estrarre velocemente una parte di testo da una cella di Excel senza dover ricorrere alla funzione STRIGA.ESTRAI

Ad esempio immaginiamo di avere in una cella Excel questo testo:

Andrea Perotti – In The Name Of Blog – www.andreaperotti.ch – Lugano

Abbiamo bisogno di estrarre il testo www.andreaperotti.ch dalla cella.

Chiaramente il testo contenuto nella cella deve essere delimitato ad esempio:
Nome, Cognome, Indirizzo (in questo caso i “pezzi” sono delimitati dalla virgola)

Procediamo quindi in questo modo:

Aprire la finestra di VBA:

In Excel XP o 2003:
Menù Strumenti – Macro – Visual Basic Editor

In Excel 2007:
Bottone di Office – Pulsante Opzioni di Excel – Impostazioni generali – Opzione “Mostra scheda Sviluppo sulla barra multifunzione”
A questo punto ritornando nella finestra di Excel verrà visualizzata anche la Scheda Sviluppo nella quale troviamo il pulsante Visual Basic

Nella finestra Visual Basic inserire un nuovo modulo (menù Inserisci – Modulo) e copiare il codice riportato sotto:

Function GetStringPart(strInput As String, strDelimiter As String, _
    intPart As Integer) As String
Dim varStrings As Variant
    varStrings = Split(strInput, strDelimiter, -1, vbBinaryCompare)
    On Error Resume Next
    GetStringPart = Trim(varStrings(intPart - 1))
    On Error GoTo 0
End Function

Chiudere quindi la finestra di Visual Basic e tornare in Excel.

A questo punto immaginiamo che nella cella A5 sia presente questo testo:

Andrea Perotti – In The Name Of Blog – www.andreaperotti.ch – Lugano

Nella cella H5 abbiamo bisogno di visualizzare solo il testo www.andreaperotti.ch

La formula che dovremo inserire nella cella H5 è la seguente:

=GetStringPart(strInput;strDelimiter;intPart)

Dove:

strInput: è la cella che contiene il testo completo

strDelimiter: è ciò che delimita una parte di testo dall’altra (tra virgolette ” “)

intPart: è la posizione del testo che vogliamo estrarre

Nel nostro caso quindi la funzione risulterebbe:

=GetStringPart(A5;”-”;3)

Se vogliamo rendere disponibile questa funzione in modo tale da trovarla all’avvio di ogni cartella di Excel possiamo creare un componente aggiuntivo come specificato qui.

Technorati technorati tags: , , , , , , ,

Related posts:

  1. Come estrarre l’URL completo da un elenco di collegamenti ipertestuali presenti nelle celle di Excel
  2. Estrarre commenti da celle Excel
  3. Visualizzare le proprietà di un file di Excel in una cella
  4. Sommare le celle in Excel in base alla formattazione
  5. Gestire le maiuscole e minuscole in Excel
This entry was posted in Excel, Microsoft. Bookmark the permalink.

2 Responses to Estrarre una stringa di testo da una cella Excel

  1. umberto says:

    Ho un grosso problema. Ho convertito tabelle in pdf in excel ed il programma invece di mettermi tutte le righe in diverse celle mi ha messo tutto in una cella, andando a capo.vorrei chiedere se con vba posso estrarre questi testi. La variabile è: andare a capo.
    Ringrazio e saluto

    umberto

  2. Umberto per estrarre testo da una cella e disporlo su più celle puoi usare la funzione STRINGA.ESTRAI oppure il comando “Testo in colonne”.

Lascia un Commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati *

*

È possibile utilizzare questi tag ed attributi XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Commenti aggiuntivi forniti da BackType