Gibt einen Wert des Typs Variant (String) zurück, der eine bestimme Zeichenanzahl aus einer Zeichenfolge enthält.
Syntax
Mid(string, start [, length ] )
Die Syntax der Teil-Funktion weist die folgenden Argumente auf:
| Argument | Beschreibung |
|---|---|
| Zeichenfolge | Erforderlich. Zeichenfolgenausdruck, von dem Zeichen zurückgegeben werden. Wenn die Zeichenfolge Null enthält, wird Null zurückgegeben. |
| Startwert | Erforderlich. Lang. Zeichenposition in der Zeichenfolge , an der der zu nehmende Teil beginnt. Wenn start größer als die Anzahl der Zeichen in der Zeichenfolge ist, gibt Mid eine leere Zeichenfolge ("") zurück. |
| Länge | Optional. Wert des Typs Variant (Long). Anzahl der zurückzugebenden Zeichen. Wenn diese Angabe ausgelassen wird oder wenn der Text Zeichen mit weniger als Länge enthält (einschließlich des Zeichens am Anfang), werden alle Zeichen von der Startposition bis zum Ende der Zeichenfolge zurückgegeben. |
Hinweise
Verwenden Sie die Len-Funktion, um die Anzahl der Zeichen pro Zeichenfolge zu bestimmen.
Hinweis
Verwenden Sie die TeilB-Funktion mit Bytedaten, die in einer Zeichenfolge enthalten sind, wie z. B. in Sprachen mit Doppelbyte-Zeichensätzen. Die Argumente geben anstelle der Anzahl der Zeichen die Anzahl der Bytes an. Beispielcode für die Verwendung von TeilB finden Sie im zweiten Beispiel unter "Beispiel".
Abfragebeispiele
| Ausdruck | Ergebnisse |
|---|---|
| SELECT ProductID, Mid(ProductID,5) AS Expr1 FROM ProductSales; | Gibt die "Produkt-Nr" und den Teil von Artikel-ID zurück, beginnend bei Position 5, und zeigt die Ergebnisse in der Spalte "Ausdr1" an. |
| SELECT ProductID, Mid(ProductID,5,4) AS testMid FROM ProductSales; | Gibt die "Produkt-Nr" und den Teil von Produkt-ID ab Zeichenposition 5 zurück, enthält 4 Zeichen und zeigt die Ergebnisse in der Spalte testMid an. |
VBA-Beispiele
Hinweis
Die folgenden VBA-Beispiele veranschaulichen die Verwendung dieser Funktion in einem Visual Basic for Applications (VBA)-Modul. Wenn Sie weitere Informationen zum Arbeiten mit VBA wünschen, wählen Sie Entwicklerreferenz in der Dropdownliste neben Suchen aus, und geben Sie einen oder mehrere Begriffe in das Suchfeld ein.
Im ersten Beispiel wird die Teil-Funktion verwendet, um eine angegebene Anzahl von Zeichen aus einer Zeichenfolge zurückzugeben.
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".
Im zweiten Beispiel wird TeilB und eine benutzerdefinierte Funktion (MidMbcs) verwendet, um auch Zeichen aus einer Zeichenfolge zurückzugeben. Der Unterschied besteht darin, dass die Eingabezeichenfolge in ANSI und die Länge in Bytes angegeben ist.
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"