基本上我的工作表每天都会更新,并希望能够将其设置为每周自动打印。每周都会说星期五将打印最近7天的数据(7天=最后7行)。
我在任务调度程序的帮助下管理,运行.vbs宏来自动打开Excel工作表,打印然后关闭。
如何将最后一步添加到此自动化中,即仅打印当前周数据而不是整个工作表。
所以我需要可指定的列范围,对于行范围,可能会与excel的TODAY函数一起使用吗?如果可能的话。
答案 0 :(得分:0)
如果总是最后7行,那么
Dim XLApp
Dim XLWkb
Set XLApp = CreateObject("Excel.Application")
xlapp.visible = true
xlapp.workbooks.open "C:\Users\User\Desktop\luboil.xlsx"
Dim LastRow As Long
Dim LastCol As Long
LastRow = xlapp.activeworkbook.worksheets("sheet2").Range("A" & .Rows.Count).End(xlUp).Row
LastCol = xlapp.activeworkbook.worksheets("sheet2").Cells(LastRow, Columns.Count).End(xlToLeft).Column
xlapp.activeworkbook.worksheets("sheet2").PageSetup.PrintArea = xlapp.activeworkbook.worksheets("sheet2").Range(Cells(LastRow - 7, 1), Cells(LastRow, LastCol)).Address
xlapp.activeworkbook.worksheets("sheet2").printout
xlapp.activeworkbook.worksheets("sheet2").PageSetup.PrintArea = ""
xlapp.activeworkbook.close
xlapp.quit