Vba: come estrarre il testo tra due caratteri


È possibile creare la seguente funzione personalizzata in VBA per estrarre il testo tra due caratteri specifici:

 Function ExtractBetween(this_text, start_char, end_char)

StartPosition = InStr(this_text, start_char)
EndPosition = InStr(this_text, end_char)

ExtractBetween = Mid(this_text, StartPosition + 1, EndPosition - StartPosition - 1)

End Function

È quindi possibile utilizzare questa funzione per estrarre il testo tra due caratteri specifici in un carattere specifico in Excel.

L’esempio seguente mostra come utilizzare questa funzione nella pratica.

Esempio: utilizzo di VBA per estrarre il testo tra due caratteri

Supponiamo di avere il seguente set di dati in Excel contenente i valori ID e le vendite totali di vari prodotti in un’azienda:

Supponiamo di voler utilizzare VBA per estrarre il testo tra parentesi per ogni cella nella colonna A e restituire i risultati nella colonna C.

Possiamo creare la seguente funzione per fare ciò:

 Function ExtractBetween(this_text, start_char, end_char)

StartPosition = InStr(this_text, start_char)
EndPosition = InStr(this_text, end_char)

ExtractBetween = Mid(this_text, StartPosition + 1, EndPosition - StartPosition - 1)

End Function

Possiamo quindi digitare la seguente formula nella cella C2 per estrarre il testo tra parentesi per il testo nella cella A2 :

 =ExtractBetween( A2 , "(", ")")

Possiamo quindi fare clic e trascinare questa formula su ciascuna cella rimanente nella colonna C:

VBA estrae il testo tra due caratteri specifici

La colonna C ora mostra il testo tra parentesi per ogni cella corrispondente nella colonna A.

Nota : questa formula funziona utilizzando la funzione Instr in VBA per estrarre la posizione di caratteri iniziali e finali specifici, quindi utilizzando la funzione Mid per restituire tutto il testo tra questi due caratteri.

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre attività comuni utilizzando VBA:

VBA: come contare le occorrenze di caratteri in una stringa
VBA: come verificare se una stringa contiene un’altra stringa
VBA: come contare le celle con testo specifico

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *