« Ritorna al blog

Ritorna alla lista completa degli articoli

Utilizzare RegExp in Excel e VBA

EXCEL & VBA - aprile 20, 2022

VBA è un linguaggio molto potente che ci consente di intervenire direttamente nel nostro file Excel. Ipotizziamo di voler sostituire la virgola con il punto da una lista di numeri decimali disposti per colonna.

Per prima cosa dobbiamo creare un file Excel. Ricordatevi di abilitare la sezione Sviluppo. Per farlo aprite la scheda delle Opzioni di Excel e selezionate la voce Personalizzazione barra multifunzione dal menu laterale a sinistra; infine, spuntate la casella Sviluppo nel riquadro delle Schede principali

Abilitare la sezione sviluppo in Excel


Completata l'operazione possiamo adesso aprire l'editor di Visual Basic. Spostarsi in Strumenti -> Riferimenti e dall'elenco selezionare la seguente libreria:

  • Microsoft VBScript Regular Expression 5.5

RegExp in VBA

Creiamo la nostra subroutine nell'editor di Visual Basic e creiamo l'oggetto RegExp:

Sub RegexTest()
Dim stringNum As String
Set regexOne = New RegExp
 
regexOne.Pattern = "[,]+"
regexOne.Global = True
regexOne.IgnoreCase = True
 
Dim myCell As Range

For Each myCell In Selection.Cells
  stringNum = regexOne.Replace(myCell.Value, ".")
  Debug.Print stringNum
Next
 
End Sub

Nel file Excel selezioniamo i valori che ci interessano e avviamo lo script. Il risultato finale sarà il seguente:

RegExp con VBA

 

Utilizzare RegExp in Excel e VBA