excel基于日期值的VBA打印行

时间:2011-11-18 17:27:24

标签: excel vba

我正在尝试根据数据的日期从名为Patrol的工作表中打印报告。

范围A1包含不同的日期,但我只想在第一行=到(日期+ 1)的行中打印数据,即明天的日期。(打印第二天的交货详情)

每行有日期和16个其他单元格。下面的代码只打印表格标题

Private Sub Comprintpatrol_Click()

    Range("A1").AutoFilter Field:=1, Criteria1:=Format(Date + 1, Range("A2").NumberFormatLocal)
    ActiveSheet.PrintOut
    ' or
    Range("A1").CurrentRegion.PrintOut
    Range("A1").AutoFilter
End Sub

任何想法?

2 个答案:

答案 0 :(得分:0)

我认为你说“范围A1包含不同的日期”。我认为你的意思是“A栏包含不同的日期”。 (范围A1是单个单元格,表格上的左上角单元格)

您可以通过传递字符串“A:A”来获取Range函数中的a列:Range("A:A")

答案 1 :(得分:0)

您也可以尝试使用UsedRange代替CurrentRegion。后者可能很棘手,因为它很大程度上取决于您的数据设置方式(特别是如果您有空单元格)。

类似的东西:

Private Sub Comprintpatrol_Click()
    Range("A1").AutoFilter Field:=1, Criteria1:=Format(Date + 1, Range("A2").NumberFormatLocal)
    ActiveSheet.PrintOut
    ' or
    ActiveSheet.UsedRange.PrintOut
    Range("A1").AutoFilter
End Sub