A continuación vamos a ver un programa en Excel VBA que separa las cadenas.

Situación:

Separate Strings in Excel VBA

Coloque un botón de comando en la hoja de trabajo y añadir las líneas de código siguientes:

  1. En primer lugar, declaramos una variable llamada nombre completo de tipo String, una variable llamada commaposition de tipo entero, y una variable llamada i de tipo entero.

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

El problema que nos ocupa es que tenemos que decirle a Excel VBA donde queremos separar la cadena. En caso de Smith, Mike la coma es en la posición 6, mientras que en caso de Williams, Janet la coma es en la posición 9.

  1. Utilizamos un bucle para ejecutar las operaciones en cada nombre introducido en Excel. En primer lugar, inicializamos la variable nombre completo. A continuación, utilizar 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, ",")
  1. Por último, queremos escribir la pieza después de la coma a la columna B y la parte de delante de la coma para la columna C. Esto se puede conseguir mediante la adición de las líneas:

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

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

Mid (nombre completo, commaposition + 2) significa que queremos la parte de nombre completo a partir del carácter ‘commaposition + 2’ (esto es exactamente el primer nombre).

Izquierda (nombre completo, commaposition – 1) significa que queremos la parte del nombre completo empezando por el principio hasta el carácter ‘commaposition- 1’ (esto es exactamente el apellido).

  1. No se olvide de cerrar el bucle.

Next i
  1. Añadir seis nombres separados por una coma y el espacio para Range ( «A2: A7»).

Prueba 6. el programa.

Resultado:

Separate Strings Result