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


  • Target
    Required. Name of the String variable to modify.

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

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

  • StringExpression
    Required. String expression that replaces part of Target.


Exception type

Error number




Start <= 0 or Length < 0.

See the "Error number" column if you are upgrading Visual Basic 6.0 applications that use unstructured error handling. (You can compare the error number against the Number Property (Err Object).) However, when possible, you should consider replacing such error control with Structured Exception Handling Overview for Visual Basic.


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

Visual Basic has a Mid Function (Visual Basic) 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 Function (Visual Basic).


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"




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

See Also


Mid Function (Visual Basic)

Other Resources

Strings in Visual Basic

Introduction to Strings in Visual Basic