A continuación, veremos un programa en Excel VBA que separa cadenas .

Situación:

Cadenas separadas en Excel VBA

Coloque un botón de comando en su hoja de trabajo y agregue las siguientes líneas de código:

1. Primero, declaramos una variable llamada fullname de tipo String, una variable llamada comaposición de tipo Integer y una variable llamada i de tipo Integer.

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

El problema con el que estamos lidiando es que necesitamos decirle a Excel VBA dónde queremos separar la cadena. En el caso de Smith, Mike, la coma está en la posición 6, mientras que en el caso de Williams, Janet, la coma está en la posición 9.

2. Usamos un bucle para ejecutar las operaciones sobre cada nombre ingresado en Excel. Primero, inicializamos la variable fullname. A continuación, usamos la función Instr para encontrar la posición de la coma.

For i = 2 To 7
    fullname = Cells(i, 1).Value
    commaposition = InStr(fullname, ",")

3. Finalmente, queremos escribir la parte después de la coma en la columna B y la parte delante de la coma en la columna C. Puedes lograr esto agregando las líneas:

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

Mid (nombre completo, coma + 2) significa que queremos que la parte del nombre completo comience en el carácter 'coma + 2' (este es exactamente el primer nombre).

Izquierda (nombre completo, coma - 1) significa que queremos que la parte del nombre completo comience desde el principio hasta el carácter 'comaposición-1' (este es exactamente el apellido).

4. No olvide cerrar el ciclo.

Next i

5. Agregue seis nombres separados por una coma y un espacio a Rango ("A2: A7").

6. Pruebe el programa.

Resultado:

Resultado de cadenas separadas

2/5 Completado! Obtenga más información sobre la manipulación de cadenas>
Siguiente capítulo: fecha y hora