標題:
[發問]
可否用VBA來控制列印範圍?
[打印本頁]
作者:
bvge
時間:
2011-2-14 20:25
標題:
可否用VBA來控制列印範圍?
[attach]4729[/attach]
如題
工作表格式固定這樣子不變
資料增減都只在有顏色的範圍內變化 (列會增減,行不變)
最少約10筆,最多約300筆
問題
1. 因為資料多少不一定每次都會多印出1~3張空白格子紙張--->浪費紙
2. 如果先設定列印範圍再列印---->麻煩又難控制
構想
1. 用VBA控制,列印出有資料的範圍,沒有資料的格子不列印
2.
感謝!
作者:
Hsieh
時間:
2011-2-14 21:35
回復
1#
bvge
表格內容是由公式求得
所以要用迴圈找出資料尾
Sub nn()
r = [C65536].End(xlUp).Row
Do Until Cells(r, 3) <> ""
r = r - 1
Loop
ActiveSheet.PageSetup.PrintArea = "A1:AB" & r
End Sub
複製代碼
作者:
bvge
時間:
2011-2-14 22:13
Hsieh超版
厲害喔
解決難題了
感激不盡
謝謝
作者:
bvge
時間:
2011-2-15 05:29
回復 bvge
表格內容是由公式求得
所以要用迴圈找出資料尾
Hsieh 發表於 2011-2-14 21:35
因為沒學過VBA
想請問Hsieh超版
這一串試了很好用,但是最後還要去按一下"列印"按鈕才會從印表機出來
能否再加入幾個字讓它能自動從印表機跑出來
等於是設定列印範圍 + 列印一次完成 (我好懶惰)
謝謝!
作者:
Hsieh
時間:
2011-2-15 08:25
回復
4#
bvge
等於是設定列印範圍 + 列印一次完成 (我好懶惰)
解決懶惰方法:
一、辭職回家當少爺
二、加強自我職場競爭力,提升自己的能力
利用事件驅動程序
Private Sub Workbook_BeforePrint(Cancel As Boolean)
With ActiveSheet
r = .[C65536].End(xlUp).Row
Do Until .Cells(r, 3) <> ""
r = r - 1
Loop
.PageSetup.PrintArea = "A1:AB" & r
End With
End Sub
複製代碼
[attach]4732[/attach]
作者:
bvge
時間:
2011-2-15 21:10
感謝超版
受教了
謝謝!
作者:
宇媽
時間:
2011-4-27 17:38
回復
2#
Hsieh
Hsieh你好
假設最後一頁只有3行資料,但因版面問題,想讓最後一頁列印行數跟前一頁一樣,可行嗎?
作者:
yc1031
時間:
2012-7-25 13:45
回復
5#
Hsieh
超級版主 您好!
在這裡函數裡, 我可以加入要使用哪台列表機列印嗎?
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)