Board logo

標題: [發問] 於同一工作表中,只列印某儲存格中有數值的頁數? [打印本頁]

作者: 棋語鳥鳴    時間: 2011-5-10 09:10     標題: 於同一工作表中,只列印某儲存格中有數值的頁數?

[attach]6093[/attach]
如上圖所示,於同一工作列表中,如第一頁中B(2、9、16)其中之一有數值就列印第一頁!
如第一頁中B(2、9、16)其中之一&第二頁中B(24、31、38)其中之一也有數值,就列印1~2頁......以此類推!請問此巨集要如何設定!
作者: GBKEE    時間: 2011-5-10 15:53

回復 1# 棋語鳥鳴
霧沙沙阿
作者: 棋語鳥鳴    時間: 2011-5-10 20:57

回復 2# GBKEE


    意思就是!在圖中(1~3頁)有打1、2、3的儲存格中,如果有數值(3個儲存格只要有一個儲存格有數值即可)就列印當頁,如果都沒有數值那頁就不要印!
作者: chin15    時間: 2011-5-10 21:16

EXCEL本就如此設定的
沒資料的就不會印了
你會印出空白頁嗎?
作者: 棋語鳥鳴    時間: 2011-5-10 21:22

回復 4# chin15



因為我的檔案中每頁都有文字,因為是設計好的表格,資料是自動帶入的,所以有的頁數沒數值,但有其他的文字,那種就會多印,變成廢紙= =
作者: chin15    時間: 2011-5-10 21:31

看你每頁要依哪些儲存格作判斷是否列印
做個單循環
把要印的頁複製到另一工作表,再對該表列印
作者: Hsieh    時間: 2011-5-10 22:19

依照圖片的欄列位來判斷
  1. Sub ex()
  2. Dim Ar(), A As Range
  3. Set A = [B1]: i = 1
  4. Do
  5. Do
  6. If Application.CountA(A.Offset(1), A.Offset(8), A.Offset(15)) > 0 Then
  7. ReDim Preserve Ar(s)
  8. Ar(s) = i
  9. s = s + 1
  10. End If
  11. Set A = A.Offset(22, k)
  12. i = i + 1
  13. Loop Until A.Row > UsedRange.Rows.Count
  14. k = k + 8
  15. Loop Until A.Column > UsedRange.Columns.Count
  16. If s > 0 Then
  17. For i = 0 To UBound(Ar)
  18.   ActiveSheet.PrintOut From:=Ar(i), To:=Ar(i)
  19. Next
  20. End If
  21. End Sub
複製代碼

作者: 棋語鳥鳴    時間: 2011-5-11 05:43

回復 7# Hsieh


    感謝大大的回覆~我去試試看!




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)