[英]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.