后臺最近有朋友留言說智政,經(jīng)常會有好多excel工作簿要打印,挨個點擊打開稠歉,然后選擇打印非常的麻煩掰担。有沒有辦法可以用vba一鍵批量的打印轧抗?
當然可以恩敌,其實方法有兩種:
1? ??直接通過VBA代碼一鍵批量打印?
舉個栗子更直觀一些,如下圖
book1工作簿下有a横媚、b纠炮、c三個工作表
book2工作簿下有sheet1月趟、sheet2、sheet3三個工作表
將這兩個文件放在同一個文件夾內(nèi)恢口,再新建一個excel文件孝宗,叫“一鍵批量打印”。
然后VBE中(開發(fā)工具-Visual Basic)耕肩,輸入下面的代碼因妇,保存運行即可。
Sub 打印指定文件()
? ? Dim iPath$, iName$, Wb As Workbook
? ? Dim i
? ? iPath = ThisWorkbook.Path & "\"
? ? iName = Dir(iPath & "*.xls*")
? ? On Error Resume Next
? ? Do While iName <> ""
? ? ? ? If iName <> ThisWorkbook.Name Then
? ? ? ? ? ? Set Wb = Workbooks.Open(iPath & iName)
? ? ? ? ? ? ? ? For i = 1 To Wb.Worksheets.Count
? ? ? ? ? ? ? ? Wb.Worksheets(i).PrintOut
? ? ? ? ? ? ? ? Next
? ? ? ? ? ? Wb.Close False
? ? ? ? End If
? ? ? ? iName = Dir
? ? Loop
End Sub
看效果猿诸,因為永恒君電腦沒有連接打印機婚被,用的是虛擬打印機,模擬打印成pdf格式的文檔了梳虽,和打印機打印的原理是一樣的址芯。
這里有一點是要注意的,打印的表格的排版要事先調(diào)好窜觉,代碼并沒有設置格式谷炸,都是按表格原有的排版進行打印。
2? ??把所有工作簿批量合并后再打印
這個方法要用到之前介紹的合并工作簿的方法:
Excel vba 實例(3) - 多個工作簿批量合并
把所有的工作簿的表格全部合并到一起禀挫,再打印整張工作簿即可旬陡。如下圖演示:
這個變通的辦法也是不錯的。
同樣的语婴,永恒君直接把上面實例VBA的文件分享出來描孟,需要的就直接使用吧。
后臺回復“打印”即可腻格。
不少人對VBA代碼有抵觸心理画拾,其實沒有那么復雜,把他看成一個稍微復雜點的函數(shù)即可菜职。
當然如果并不打算深入學習VBA青抛,只是臨時使用下,那只要會復制黏貼就好了酬核!
至于怎么用VBA代碼蜜另,可以參考之前的文章:
Excel vba 實例(1) - 批量制作工資表頭
Excel vba 實例(2) - 批量將工作表拆分為單獨文件
Excel vba 實例(3) -?多個工作簿批量合并
Excel vba 實例(4) - 根據(jù)已有名稱,批量新建表格
Excel vba 實例(5) - 快速合并n多個相同值的單元格
Excel vba 實例(6) - 一鍵匯總多個sheet數(shù)據(jù)到總表
Excel VBA功能很強大嫡意,但是要熟練的運用起來還是有一定的難度举瑰,好在永恒君幫大家搜集了幾套關(guān)于VBA的視頻教程,非常的實用蔬螟。
需要的話此迅,后臺回復“VBA”獲取吧~~
歡迎交流!