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