在Excel中打印不连续的列

时间:2017-11-08 16:10:14

标签: excel vba excel-vba

我试图在一张纸上打印几个不连续的列。我在页面布局中使用设置的打印区域。但是它在每个列范围之后创建了一个分页符。我有一个宏,允许您粘贴一系列数据,然后它清除数据并打印页面。所以隐藏列是行不通的。有人能告诉我如何在一张纸上打印我需要的列。这是我希望包含打印代码的宏。

Sub cleardatanotformulas()
    ActiveWindow.SelectedSheets.PrintOut Copies:=1
    On Error Resume Next
    Cells.SpecialCells(xlCellTypeConstants).ClearContents
    ActiveWorkbook.Close SaveChanges:=False
End Sub

2 个答案:

答案 0 :(得分:0)

您可以创建一个新页面来接收您选择的打印列,如下面的代码所示。 Mu非连续列位于MySourceSheet中。您必须将它们复制到MytargetSheet中并打印出来。

Sub CopyInAdjacentColumnsForPrinting()

    Sheets("MySourceSheet").Select
    Range("A:A,C:C,E:E").Select 'We select A, C and E columns for example,     you can specify your own columns
    Range("E1").Activate
    Selection.Copy
    Sheets("MyTargetSheet").Select ' This sheet is for receiving selected     columns in contiguous columns.
    Range("A1").Select
    ActiveSheet.Paste ' We copied selected columns in this sheet.
    Range("A1").Select
End Sub

希望这有帮助!

答案 1 :(得分:0)

抱歉@Anne B,我无法在评论块中添加我的代码,然后我添加一个新答案:) 基于您在名为MyTargetSeet的工作表(在此示例中)中复制非连续列的事实。 你可以用它。

<form method='post'> <!-- you can see there is no action here-->

希望这有帮助!