返回列表 上一主題 發帖

[發問] 格式化條件,有值則顯示整數列框架

回復 20# jackson7015

1.選C欄~I欄
    設定格式化條件
    公式為  =(ROW()-5)<=ROUNDUP(COUNTA($C$3:$C$65536),-1)

2.Thisworkbook 活頁簿模組
  1. Private Sub Workbook_BeforePrint(Cancel As Boolean)
  2. If [C6] = "" Then
  3.    LR = 5
  4. Else
  5.    LR = Application.CountA([C6:C65535])
  6.    LR = Application.RoundUp(LR, -1) + 5
  7. End If
  8. ActiveSheet.PageSetup.PrintArea = "C1:I" & LR
  9. End Sub
複製代碼

TOP

回復 21# register313

感謝register313大大不辭辛勞的幫忙...

格式化條件我更改為下列公式可正常繪製格線
=(ROW()-5)<=ROUNDUP(COUNTA($C$6:$C$65535),-1)

Thisworkbook 活頁簿模組我輸入後,列印格式沒有反應也沒有改變

請問是否還要更改哪些部份呢?

TOP

回復 22# jackson7015

Private Sub Workbook_BeforePrint(Cancel As Boolean)
此為列印前去設定列印範圍

預覽列印 或 列印 即會生效

TOP

回復 23# register313

使用預覽列印和直接列印後,只出現一頁的列印範圍,沒有變更列印範圍

附上表格,在煩請register313大大幫忙...
日報表.rar (494.86 KB)

TOP

回復 24# jackson7015

程式碼加在ThisWorkbook內


其他工作表內的程式刪除

TOP

本帖最後由 jackson7015 於 2012-4-10 08:43 編輯

回復 25# register313

請問register313大大,工作模組的各項屬性是否要更動?

我將公式輸入Thisworkbook 後依然是沒有反應

原本以為是否是之前設定了C:I的列印範圍的影響
所以取消全部列印範圍後,列印範圍變為200頁!?
而重新手動設定了C:I列印範圍後,變回有字元部分才有列印範圍

項目一是手動輸入C欄數值測試,列印範圍手動輸入了C:I=>有字元部分才有列印範圍
項目四是重新整理樞紐分析表測試,列印範圍手動輸入C:I=>有字元部分才有列印範圍
項目六是取消所有列印範圍=>列印張數變為200頁..
項目11是C欄無數值,取消所有列印範圍=>列印張數為200頁

附上檔案煩請大大
看看是否有小弟手拙設定錯誤的地方
日報表.rar (479.38 KB)

TOP

回復 26# jackson7015

1.不用手動去設定列印範圍
2.工作表改好後,
   作 預覽列印列印,其列印範圍會自動調整設定

TOP

回復 27# register313

動作測試出來後:
1.清除手動設定列印範圍
2.Thisworkbook 修改後
    預覽列印是為27#樓所回覆的列印範圍
    直接列印出來的範圍則是大大所表示的範圍,且列印後會變更為所需要之範圍,即是本人所需的列印範圍動作
感謝register313熱心幫忙,終於解決所有問題點

將程式碼使用在我的完整工作報表內後,其他的工作頁面會自動將已設定的列印範圍,更改為Thisworkbook 程式碼的列印範圍
請問可以只在項目1~項目11的這些工作頁面做列印範圍動作就好了嗎?
這樣才不會影響到其他工作頁面
將程式寫在項目工作表內,列印出來的範圍不會有變更

TOP

回復 28# jackson7015

功能:"項目1" 或 "項目4" 或 "項目6" 或 "項目11"  4張工作表在作預覽列印或直接列印時,會自動設定調整成所需之列印範圍
ThisWorkbook程式碼改為下列即可
  1. Private Sub Workbook_BeforePrint(Cancel As Boolean)
  2. Sh = ActiveSheet.Name
  3. If Sh = "項目1" Or Sh = "項目4" Or Sh = "項目6" Or Sh = "項目11" Then
  4.   If [C6] = "" Then
  5.      LR = 5
  6.   Else
  7.      LR = Application.CountA([C6:C65535])
  8.      LR = Application.RoundUp(LR, -1) + 5
  9.   End If
  10.   ActiveSheet.PageSetup.PrintArea = "C1:I" & LR
  11. End If
  12. End Sub
複製代碼

TOP

回復 29# register313

程式碼列印範圍已能完全正常使用
所寫內容也會慢慢去解析
再次萬分感謝register313大大重頭到尾的協助幫忙
小弟感激不盡

TOP

        靜思自在 : 能付出愛心就是福,能消除煩惱就是慧。
返回列表 上一主題