あなたが言っていることをする必要があるとき、私がすることは:
コードエディター(VBA)の関数を使用します。
Private Sub Workbook_BeforePrint(Cancel As Boolean)
列または行を非表示にするには、印刷を実行してから非表示を解除します。
例:
Private Sub Workbook_BeforePrint(Cancel As Boolean)
    If ActiveSheet.Name = "Sheet1" Then
        Cancel = True
        Application.EnableEvents = False
        Application.ScreenUpdating = False
        With ActiveSheet
            .Rows("10:15").EntireRow.Hidden = True
            .PrintOut
            .Rows("10:15").EntireRow.Hidden = False
        End With
        Application.EnableEvents = True
        Application.ScreenUpdating = True
    End If
End Sub
または、それぞれの部分を変更して列を非表示にします(この例では、列BとDを非表示にします)。
        With ActiveSheet
            .Range("B1,D1").EntireColumn.Hidden = True
            .PrintOut
            .Range("B1,D1").EntireColumn.Hidden = False
        End With
または、列Aに空白のセルがあるすべての行を非表示にします。
        With ActiveSheet
            On Error Resume Next
            .Columns("A").SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True
            .PrintOut
            .Columns("A").SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = False
            On Error GoTo 0
        End With
リンク: