Função Split
Retorna uma matriz unidimensional de base zero que contém um número especificado de subcadeias de caracteres.
Sintaxe
Split(expressão, [ delimitador, [ limite, [ comparação ]]])
A sintaxe da função Split tem estes argumentos nomeados:
Parte | Descrição |
---|---|
expressão | Obrigatório. Expressão de cadeia de caracteres contendo subcadeias de caracteres e delimitadores. Se expressão for uma subcadeia de caracteres de comprimento zero (""), Split retornará uma matriz vazia, ou seja, uma matriz sem elementos e sem dados. |
delimitador | Opcional. Caractere de cadeia de caracteres usado para identificar os limites de subcadeia de caracteres. Caso seja omitido, o caractere de espaço ("") será considerado o delimitador. Se delimitador for uma cadeia de caracteres de comprimento zero, uma matriz de elemento único com toda a cadeia de caracteres expresssão será retornada. |
limite | Opcional. Número de subcadeias de caracteres a ser retornado; -1 indica que todas as subcadeias de caracteres são retornadas. |
comparação | Opcional. Valor numérico indicando o tipo de comparação a ser usada ao avaliar subcadeias de caracteres. Confira a seção Configurações para obter os valores. |
Configurações
O argumento compare pode ter os seguintes valores:
Constant | Valor | Descrição |
---|---|---|
vbUseCompareOption | -1 | Executa uma comparação usando a configuração da instrução da Option Compare. |
vbBinaryCompare | 0 | Executa uma comparação binária. |
vbTextCompare | 1 | Executa uma comparação textual. |
vbDatabaseCompare | 2 | Somente Microsoft Access. Executa uma comparação baseada nas informações do seu banco de dados. |
Exemplo
Este exemplo mostra como usar a função 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
Confira também
Suporte e comentários
Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.