print in vba code example

Example: how to use print function in excel vba

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

Tags:

Vb Example