Devuelve un valor de tipo Variant (String) que contiene un número especificado de caracteres de una cadena.
Sintaxis
Mid(string, start [, length ] )
La sintaxis de la función Medio consta de los siguientes argumentos:
| Argumento | Descripción |
|---|---|
| cadena | Obligatorio. Expresión de cadena desde la que se devuelven caracteres. Si la cadena contiene Null, se devuelve Null . |
| iniciar | Obligatorio. Long. Posición del carácter en la cadena en la que comienza la parte que se va a tomar. Si el inicio es mayor que el número de caracteres de la cadena, Medio devuelve una cadena de longitud cero (""). |
| longitud | Opcional. Variante (largo). Número de caracteres que se va a devolver. Si se omite o si hay menos de caracteres de longitud en el texto (incluido el carácter al principio), se devuelven todos los caracteres desde la posición inicial hasta el final de la cadena. |
Observaciones
Para determinar el número de caracteres de una cadena, use la función LEN .
Nota
Use la función EXTRAEB con datos de bytes contenidos en una cadena, como en los idiomas de juegos de caracteres de doble byte. En lugar de especificar el número de caracteres, los argumentos especifican el número de bytes. Para ver código de ejemplo que usa MidB, vea el segundo ejemplo del tema de ejemplo.
Ejemplos de consulta
| Expresión | Resultados |
|---|---|
| SELECT ProductID, Mid(ProductID,5) AS Expr1 FROM ProductSales; | Devuelve "ProductID" y la parte de ProductID a partir de la posición de carácter 5 y muestra los resultados en la columna Expr1. |
| SELECT ProductID, Mid(ProductID,5,4) AS testMid FROM ProductSales; | Devuelve "ProductID" y la parte de ProductID a partir de la posición de caracteres 5, que contiene 4 caracteres y muestra los resultados en la columna testMid. |
Ejemplos de VBA
Nota
Los ejemplos de VBA siguientes muestran el uso de esta función en un módulo de Visual Basic para Aplicaciones (VBA). Para obtener más información sobre cómo trabajar con VBA, seleccione referencia para desarrolladores en la lista desplegable situada junto a búsqueda y escriba uno o varios términos en el cuadro de búsqueda.
El primer ejemplo usa la función Medio para devolver un número especificado de caracteres de una cadena.
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".
El segundo ejemplo usa MidB y una función definida por el usuario (MidMbcs) para devolver también caracteres de cadena. La diferencia aquí es que la cadena de entrada es ANSI y la longitud está en 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"