Applicazioni

Come restituire tutte le corrispondenze di un testo inserito con un modello regex in Excel

Grazie a Visual Basic puoi facilitare il tuo tempo a lavorare in Excel, poiché attraverso questo programma puoi  creare macro e funzioni personalizzate. Con le stesse macro puoi importare nomi di file o copiare dati da un foglio all’altro.

Qual è la funzione del modello di espressione regolare che si occuperà di restituire tutte le corrispondenze di un testo?

Il primo passo è creare l’oggetto espressione regolare come una funzione chiamata «Match» in cui, tramite parametri, si troverà un valore nella cella in cui la persona ha scritto.

L’obiettivo attraverso un codice macro, questo restituisce un messaggio con le corrispondenze trovate nel testo separate da una disgiunzione.

Codifica per creare il modello della funzione

Chiaramente è stato stabilito che il pattern di espressioni regolari che verrà creato in seguito è una funzione che si occuperà di convalidare i testi inseriti nel foglio.

Accedi alla scheda » Sviluppatore » e clicca su » Visual Basic » per creare un primo » Modulo » che conterrà il codice della funzione.

Inizierai impostando l’inizio della funzione, inserendo il nome delle corrispondenze e tra parentesi devi inserire come stringa i parametri di valore del testo inserito nella cella.

Corrispondenze di funzione pubblica (cella ByVal come stringa)

lente d'ingrandimento sopra le barre

Fatto ciò, puoi iniziare a scrivere l’oggetto espressione regolare che stabilirà il modello di analisi, assegnandogli il nome (SS) che desideri.

Imposta SS = CreaOggetto («VBScript.RegExp»)

Avvia una variabile che chiamerai come testo per stabilire tutte le corrispondenze che verranno trovate durante l’esecuzione della macro, che sarà di tipo stringa e partirà da 0.

Testo attenuato come stringa

Testo = «»

Quindi stabilisce le proprietà dell’espressione regolare, dove tutto verrà posizionato come vero e il modello saranno le lettere dalla a alla z accompagnate dal simbolo più » + » per analizzare anche qualsiasi altro testo all’interno della stringa.

Con SS

.Globale = Vero

.Multilinea = Vero

.IgnoreCase = True

.Modello = «[az] +»

Termina con

Se c’è una corrispondenza all’interno del testo, deve essere estratta usando execute, altrimenti visualizzerà un messaggio che indica che non è stato trovato nulla.

In caso di ricerca di contenuto, è necessario impostare una variabile che chiamerà come trovata per inserire il valore della cella corrispondente.

Va notato che ogni corrispondenza trovata verrà attraversata con una variabile ausiliaria determinata in questo esempio come » x » in una struttura » Per ogni «.

Se SS.test (cella) Allora

Set trovato = SS.Execute (cella)

Per ogni x In trovato

Aux = x

Se testo = ”” Allora

Testo = ausiliario

Altro

Testo = testo + ”| «+ Aux

Finisci se

Avanti x

Infine, assegna che il valore dell’oggetto espressione regolare sia il testo che verrà inserito nella cella o imposta il messaggio se non vengono trovate corrispondenze, per terminare la funzione.

icona excel verde

 

Corrispondenze = testo

Altro

Corrispondenze = «Nessuna corrispondenza trovata»

Finisci se

Fine funzione

Codice risultato

Per restituire tutte le coincidenze di un testo, viene creato un nuovo » Modulo » per stabilire un codice che mostrerà il risultato dell’analisi del contenuto della cella, lavorando secondo lo schema creato in precedenza.

A questo verranno aggiunte due variabili denominate valore e stringa di tipo stringa a cui verranno assegnati i valori della funzione.

Corrispondenze secondarie ()

Valore dim, stringa come String

Value = ActiveCell.Value

Stringa = corrisponde (valore)

Stringa MsgBox

Fine sottotitolo

In questo modo sono state completate la funzione e la macro, che potete testare aggiungendo contenuto ad una cella con simboli diversi e accedendo al pulsante “ Macro ” per premere “ Esegui ” sulla funzione.

Si concluderà con la comparsa di una finestra con le corrispondenze che rientrano nei parametri stabiliti, separate tra loro dal simbolo di disgiunzione.

Se lavori con questo programma potresti ad un certo punto presentare un errore, ma questi sono facili da risolvere.

Post correlati

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba