簡體   English   中英

基於日期值的excel VBA打印行

[英]excel VBA print row based on date value

我正在嘗試根據數據日期從名為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

有任何想法嗎?

我認為您不願意說“范圍A1包含不同的日期”。 我認為您的意思是“ A列包含不同的日期”。 (范圍A1是單個單元格,在工作表的左上角單元格)

您可以通過傳遞字符串“ A:A”: Range("A:A")從Range函數中獲取列a。

您也可以嘗試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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM