Função Mid

Retorna um Variant (cadeia) que contém um número especificado de caracteres de uma cadeia.

Sintaxe

Mid(cadeia, início, [ comprimento ])

A sintaxe da função Mid tem estes argumentos nomeados:

Parte Descrição
cadeia de caracteres Obrigatório. Expressão de cadeia de caracteres da qual os caracteres são retornados. Se a cadeia de caracteres contiver Null, Null será retornado.
início Obrigatório; Long. Posição do caractere na cadeia de caracteres na parte em que inicia a obtenção. Se o início for maior do que o número de caracteres na cadeia de caracteres, Mid retornará uma cadeia de comprimento zero ("").
comprimento Opcional; Variant (Long). Número de caracteres a retornar. Se forem omitidos ou se houver menos caracteres do que o comprimento no texto (incluindo o caractere no início), todos os caracteres da posição de início até o final da cadeia de caracteres são retornados.

Comentários

Para determinar o número de caracteres na cadeia de caracteres, use a função Len.

Observação

Use a função MidB com dados de byte contidos em uma cadeia de caracteres, como linguagem de conjunto de caracteres de bytes duplos. Em vez de especificar o número de caracteres, os argumentos especificam o número de bytes. Para o código de exemplo que usa MidB, consulte o segundo exemplo no tópico exemplo.

Exemplo

O primeiro exemplo usa a função Mid para retornar um número especificado de caracteres de uma cadeia.

Dim MyString, FirstWord, LastWord, MidWords
MyString = "Mid Function Demo"    ' Create text string.
FirstWord = Mid(MyString, 1, 3)    ' Returns "Mid".
LastWord = Mid(MyString, 14, 4)    ' Returns "Demo".
MidWords = Mid(MyString, 5)    ' Returns "Function Demo".

O segundo exemplo usa MidB e uma função definida pelo usuário (MidMbcs) para também retornar caracteres de uma cadeia. Aqui, a diferença é que a cadeia de caracteres da entrada é ANSI e o comprimento está em bytes.

Function MidMbcs(ByVal str as String, start, length)
    MidMbcs = StrConv(MidB(StrConv(str, vbFromUnicode), start, length), vbUnicode)
End Function

Dim MyString
MyString = "AbCdEfG"
' Where "A", "C", "E", and "G" are DBCS and "b", "d", 
' and "f" are SBCS.
MyNewString = Mid(MyString, 3, 4)
' Returns "CdEf"
MyNewString = MidB(MyString, 3, 4)
' Returns "bC"
MyNewString = MidMbcs(MyString, 3, 4)
' Returns "bCd"

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.