VBA Print Statement

Print Description

Writes display-formatted data to a sequential file.

Print Syntax

Print #FileNumber, [OutputList]

The Print statement contains 2 arguments:

FileNumber: Any valid file number.

OutputList: Optional. One or more comma-delimited numeric expressions or string expressions to write to a file.

Examples of Excel VBA Print Function

First Name Last Name Age Gender
Robert Stepp 20 Male
Jennifer Mariscal 33 Female
David Romig 35 Male
Carmel Ingram 26 Female

To output Range(“A1:D5”) in a sheet like the above picture to a file, you can use the following code.

Sub Print_Example()
    Dim strFolder As String
    Dim strFile As String
    Dim dlgFolder As FileDialog
    Dim rng As Range
    
    Set dlgFolder = Application.FileDialog(msoFileDialogFolderPicker)
    
    If dlgFolder.Show = True Then
        strFolder = dlgFolder.SelectedItems(1)
    Else
        Exit Sub
    End If
    
    Set rng = Range("A1:D5")
    
    'Print
    strFile = "Print_Output.txt"
    PrintRangeToFile strFolder & "\" & strFile, rng
End Sub

Sub PrintRangeToFile(strFile As String, rng As Range)
    Dim row As Range, cell As Range
    Dim FileNumber As Integer
    FileNumber = FreeFile

    Open strFile For Output As #FileNumber
        For Each row In rng.Rows
            For Each cell In row.Cells
                If cell.Column = row.Cells.Count Then
                    Print #FileNumber, cell
                Else
                    Print #FileNumber, cell,
                End If
            Next cell
        Next row
    Close #FileNumber
End Sub

The output to the file “Print_Output.txt”:

First Name    Last Name     Age           Gender
Robert        Stepp          20           Male
Jennifer      Mariscal       33           Female
David         Romig          35           Male
Carmel        Ingram         26           Female