Mid Statement


Replaces a specified number of characters in a String variable with characters from another string.

Mid( _
   ByRef Target As String, _
   ByVal Start As Integer, _
   Optional ByVal Length As Integer _
) = StringExpression


Required. Name of the String variable to modify.


Required. Integer expression. Character position in Target where the replacement of text begins. Start uses a one-based index.


Optional. Integer expression. Number of characters to replace. If omitted, all of String is used.


Required. String expression that replaces part of Target.

Exception Condition

Exception type



Start <= 0 or Length < 0.

The number of characters replaced is always less than or equal to the number of characters in Target.

Visual Basic has a Mid function and a Mid statement. These elements both operate on a specified number of characters in a string, but the Mid function returns the characters while the Mid statement replaces the characters. For more information, see Mid.


The MidB statement of earlier versions of Visual Basic replaces a substring in bytes, rather than characters. It is used primarily for converting strings in double-byte character set (DBCS) applications. All Visual Basic strings are in Unicode, and MidB is no longer supported.


This example uses the Mid statement to replace a specified number of characters in a string variable with characters from another string.

Dim TestString As String
' Initializes string.
TestString = "The dog jumps"
' Returns "The fox jumps".
Mid(TestString, 5, 3) = "fox"
' Returns "The cow jumps".
Mid(TestString, 5) = "cow"
' Returns "The cow jumpe".
Mid(TestString, 5) = "cow jumped over"
' Returns "The duc jumpe".
Mid(TestString, 5, 3) = "duck"


Namespace: Microsoft.VisualBasic

Module: Strings

Assembly: Visual Basic Runtime Library (in Microsoft.VisualBasic.dll)