Función Split

Devuelve una matriz de base cero unidimensional que contiene un número especificado de subcadenas.

Sintaxis

Split(expression, [ delimiter, [ limit, [ compare ]]])

La sintaxis de la función Split consta de los argumentos con nombre siguientes:

Parte Descripción
expression Obligatorio. Expresión de cadena que contiene subcadenas y delimitadores. Si expression es una cadena de longitud cero (""), Split devuelve una matriz vacía, es decir, una matriz sin elementos ni datos.
delimiter Opcional. Carácter de cadena que se usa para identificar los límites de subcadena. Si se omite, se supone que el carácter de espacio (" ") es el delimitador. Si delimiter es una cadena de longitud cero, se devuelve una matriz de un solo elemento que contenga toda la cadena de expression.
limit Opcional. Número de subcadenas que se devolverá; -1 indica que se devuelven todas las subcadenas.
compare Opcional. Valor numérico que indica el tipo de comparación que se usa al evaluar subcadenas. Vea la sección Configuración de valores.

Configuración

El argumento compare puede tener los siguientes valores:

Constante Valor Descripción
vbUseCompareOption -1 Realiza una comparación usando la configuración de la instrucción Option Compare.
vbBinaryCompare 0 Lleva a cabo una comparación binaria.
vbTextCompare 1 Lleva a cabo una comparación textual.
vbDatabaseCompare 2 Solo Microsoft Access. Realiza una comparación que se basa en la información de la base de datos.

Ejemplo:

En este ejemplo se muestra cómo usar la función Split .

Dim strFull As String
Dim arrSplitStrings1() As String
Dim arrSplitStrings2() As String
Dim strSingleString1 As String
Dim strSingleString2 As String
Dim strSingleString3 As String
Dim i As Long

strFull = "Dow - Fonseca - Graham - Kopke - Noval - Offley - Sandeman - Taylor - Warre"    ' String that will be used. 

arrSplitStrings1 = Split(strFull, "-")      ' arrSplitStrings1 will be an array from 0 To 8. 
                                            ' arrSplitStrings1(0) = "Dow " and arrSplitStrings1(1) = " Fonesca ". 
                                            ' The delimiter did not include spaces, so the spaces in strFull will be included in the returned array values. 

arrSplitStrings2 = Split(strFull, " - ")    ' arrSplitStrings2 will be an array from 0 To 8. 
                                            ' arrSplitStrings2(0) = "Dow" and arrSplitStrings2(1) = "Fonesca". 
                                            ' The delimiter includes the spaces, so the spaces will not be included in the returned array values. 

'Multiple examples of how to return the value "Kopke" (array position 3). 

strSingleString1 = arrSplitStrings2(3)      ' strSingleString1 = "Kopke". 

strSingleString2 = Split(strFull, " - ")(3) ' strSingleString2 = "Kopke".
                                            ' This syntax can be used if the entire array is not needed, and the position in the returned array for the desired value is known. 

For i = LBound(arrSplitStrings2, 1) To UBound(arrSplitStrings2, 1)
    If InStr(1, arrSplitStrings2(i), "Kopke", vbTextCompare) > 0 Then
        strSingleString3 = arrSplitStrings2(i)
        Exit For
    End If 
Next i

Vea también

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.