Vba: come contare le occorrenze di caratteri in una stringa


È possibile utilizzare la seguente sintassi di base per contare il numero di occorrenze di un carattere in una stringa utilizzando VBA:

 Sub CountOccurrences()
    Dim i As Integer
    
    'Specify character to look for
    my_char = "/"
    
    'Count occurrences in each string in B2:B12 and display results in C2:C12
    For i = 2 To 12
        Count = (Len(Range(" B " & i)) - Len(Replace(Range(" B " & i), my_char, ""))) / Len(my_char)
        Range(" C " & i) = Count
    Next i
End Sub

Questo particolare esempio conta il numero di occorrenze di una barra ( / ) in ogni cella nell’intervallo B2:B12 e visualizza i risultati nell’intervallo C2:C12 .

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

Esempio: contare le occorrenze di caratteri in una stringa utilizzando VBA

Supponiamo di avere il seguente set di dati in Excel che mostra i nomi di diversi giocatori di basket e le posizioni che possono ricoprire in una partita:

Supponiamo di voler contare il numero di barre ( / ) in ciascuna stringa nella colonna Posizione.

Per fare ciò possiamo creare la seguente macro:

 Sub CountOccurrences()
    Dim i As Integer
    
    'Specify character to look for
    my_char = "/"
    
    'Count occurrences in each string in B2:B12 and display results in C2:C12
    For i = 2 To 12
        Count = (Len(Range(" B " & i)) - Len(Replace(Range(" B " & i), my_char, ""))) / Len(my_char)
        Range(" C " & i) = Count
    Next i
End Sub

Quando eseguiamo questa macro, riceviamo il seguente output:

I valori nella colonna C mostrano il numero di occorrenze di barre nelle stringhe corrispondenti nella colonna B.

Per esempio:

  • La stringa Guard /Forward contiene 1 barra.
  • La stringa Guard contiene 0 barre.
  • La stringa Guard contiene 0 barre.
  • La stringa Avanti/Centro contiene 1 barra.

E così via.

Per contare le occorrenze di un carattere diverso, cambia semplicemente il carattere della variabile my_char nella macro.

Risorse addizionali

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

VBA: come verificare se una stringa contiene un’altra stringa
VBA: come contare il numero di righe nell’intervallo
VBA: come scrivere le funzioni COUNTIF e COUNTIFS

Aggiungi un commento

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