Di seguito vedremo un programma in Excel VBA che separa le stringhe.

Situazione:

Separate Strings in Excel VBA

Posizionare un pulsante di comando nel foglio di lavoro e aggiungere le righe di codice che segue:

  1. In primo luogo, si dichiara una variabile denominata FullName di tipo stringa, una variabile denominata commaposition di tipo integer e una variabile denominata i di tipo intero.

Dim fullname As String, commaposition As Integer, i As Integer

Il problema che stiamo trattando è che abbiamo bisogno di dire a Excel VBA dove vogliamo separare la stringa. In caso di Smith, Mike la virgola è in posizione 6, mentre in caso di Williams, Janet la virgola è alla posizione 9.

  1. Usiamo un ciclo per eseguire le operazioni su ogni nome immesso in Excel. In primo luogo, si inizializza il fullname variabile. Avanti, si usa la funzione Instr per trovare la posizione della virgola.

For i = 2 To 7

fullname = Cells(i, 1).Value

commaposition = InStr(fullname, ",")
  1. Infine, vogliamo scrivere la parte dopo la virgola per colonna B e la parte davanti alla virgola per la colonna C. È possibile raggiungere questo obiettivo aggiungendo le linee:

Cells(i, 2).Value = Mid(fullname, commaposition + 2)

Cells(i, 3).Value = Left(fullname, commaposition - 1)

Mid (fullname, commaposition + 2) significa che vogliamo che la parte di fullname a partire da carattere ‘commaposition + 2’ (questo è esattamente il nome di battesimo).

Sinistra (fullname, commaposition – 1) significa che vogliamo che la parte di fullname a partire dall’inizio fino carattere ‘commaposition- 1’ (questo è esattamente il cognome).

  1. Non dimenticare di chiudere il ciclo.

Next i
  1. Aggiungere sei nomi separati da una virgola e lo spazio per Range ( “A2: A7”).

  2. Verificare il programma.

Risultato:

Separate Strings Result