Excel Avanzado

Macros, Vba en Excel y muchos ejemplos de nuestro Curso de Excel Avanzado

Excel Avanzado

Función Split String

| 5 comentarios

¿Para qué sirve la función Split String?

La función Split puede dividir o desplegar un texto o expresión (String) entre sus partes o sus componentes utilizando un carácter delimitador.

Formato

Split (texto_a_dividir, delimitador, límite, comparar)

Parámetros

a) texto_a_dividir: Es el primer parámetro [obligatorio] de la función en el cual se coloca la oración que se quiere dividir

b) delimitador: Es el segundo parámetro [opcional] que se refiere al carácter delimitador con el cual se van a separar las palabras de la oración. Si no se coloca, se toma por descarte el “ “ (espacio) como separador.

c) límite: Es el tercer parámetro [opcional] que define el número máximo de palabras (o partes) que la oración será dividida. El valor que toma por descarte es el -1, lo que significa que la oración será dividida cuantas veces aparezca el delimitador.

d) comparar: Es el cuarto parámetro [opcional] que se refiere al método de comparación para usar en la evaluación de las oraciones. Puede tener cualquiera de estos dos valores:

 

Constante

Valor

Descripción

CompareMethod.Binary

0

Corresponde a una comparación binaria donde cada carácter deberá corroborarse consigo mismo

CompareMethod.Text

1

Corresponde a una comparación textual

Algunas consideraciones importantes

- La función de Split devuelve un String Array y no un String

- Si omites el argumento de “comparar” entonces la expresión Split usa un método de comparación binaria por descarte.

- Si el “texto_a_dividir” que pasas a dividir no tiene longitud, entonces retorna un único elemento conteniendo una frase sin longitud.

- Si el “delimitador” no se encuentra dentro del “texto_a_dividir” entonces la función retorna un único elemento conteniendo solo el “texto_a_dividir” como es.

Ejemplos de aplicación en Macros (VBA)

 1. General

Sub test()

Dim WrArray () As String

WedArray() = Split ("Primera prueba de Split")

End Sub

En este código, como no se especifica el delimitador, la función separará la expresión cada vez que se presente un ""(espacio).

Ejemplo 1.

Sub ejemplo1()

Dim WrdArray() As String

Dim expresion As String

expresion = "A|B|C"

WrdSrray() = Split (expresion,"|")

Ejemplo 2

Separar la expresión “Bienvenido al curso de Excel” en las palabras que lo componen utilizando la función de Split, y mostrar el resultado en una ventana de mensaje (MsgBox).

Sub ejemplo2()

Dim WrdArray() As String

Dim expresion As String

expresion = "Bienvenido al curso de Excel"

WrdArray() = Split(expresion)

For i = LBound(WrdArray) To UBound(WrdArray)

strg = strg & vbNewLine & "Palabra Nro. " & i + 1 & " - " & WrdArray(i)

Next i

MsgBox strg

End Sub

Split2 Split2

Ejemplo 3.

Utilizar la función de String para extraer solo la tercera palabra de la expresión “Bienvenido al curso de Excel”

Sub ejemplo3()

Dim tercerap As String

Dim expresion As String

expresion = "Bienvenido al curso de Excel"

tercerap = Split(expresion)(2)

MsgBox "La tercera palabra es: " & tercerap

End Sub

Split3 Split3

Ejemplo 4.

Utilizando el parámetro de "límite".

Sub ejemplo4()

Dim WrdArray() As String

Dim expresion As String

expresion = "Bienvenido al curso de Excel"

WrdArray() = Split(expresion, , 3)

For i = LBound(WrdArray) To UBound(WrdArray)

strg = strg & vbNewLine & "Parte No. " & i + 1 & " - " & WrdArray(i)

Next i

MsgBox strg

End Sub

Split4 Split4

Ejemplo 5.

Contar el número de palabras que se extraen.

Sub Contar_Palabras()

Dim WrdArray() As String

Dim expresion As String

expresion = "Bienvenido al curso de Excel"

WrdArray() = Split(expresion)

MsgBox ("Cantidad de palabras en la expresión: " & UBound(WrdArray()) + 1)

End Sub

Split5 Split5

Split String

 

5 comentarios

  1. HOLA
    Donde puedo comprar el libro completo? soy de buenos aires Argentina

  2. ¿Y si deseo separar una unica palabra en las letras que la componen y escribirlas en celdas separadas de un array?

  3. Para la cadena de entrada: "" ......me sale este mensaje al momento de subir mi macro que puedo hacer?

  4. para separar en letras en varios textbox?

  5. para separar una palabra en letras, que cada letra este en un textbox?

Deja una respuesta

Los campos requeridos estan marcados con *.