返回列表 上一主題 發帖

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

本帖最後由 register313 於 2012-3-29 16:54 編輯

回復 3# jackson7015

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

TOP

回復 6# jackson7015

依你的敘述,這真是個奇怪的現象
用格式化條件設定框線 等同於 手動畫框線 ,唯一差別是 自動 與 手動

是否上傳你設定好的檔案,讓大家查看問題出在那

TOP

回復 8# jackson7015

項目1工作表 所設定之列印範圍只到第10列 , 所以第11列後雖有框線亦不列印

檢視/分頁預覽 即可得知列印之分頁情形

TOP

本帖最後由 register313 於 2012-4-5 11:24 編輯

回復 10# jackson7015

1.檢視/分頁預覽  手動調整列印範圍

2.VBA
功能:當C欄列號個位數為3之儲存格值有變動時且該儲存格不為空值=>自動加10列框線
         當C欄列號個位數為3之儲存格值有變動時且該儲存格為空值=>自動取消10列框線
工作表模組
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2. If (Target.Column = 3) And (Target.Row Mod 10) = 3 Then
  3.    If Target <> "" Then
  4.       Target.Resize(10, 7).Borders.LineStyle = xlContinuous
  5.    Else
  6.       Target.Resize(10, 7).Borders.LineStyle = xlNone
  7.    End If
  8. End If
  9. End Sub
複製代碼

TOP

回復 12# jackson7015
看看符不符你的需求
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2. If (Target.Column = 3) And (Target.Row Mod 10) = 3 Then
  3.    If Target <> "" Then
  4.       Target.Resize(10, 7).Borders.LineStyle = xlContinuous
  5.       PageSetup.PrintArea = "C1:I" & Target.Row + 9
  6.    Else
  7.       Target.Resize(10, 7).Borders.LineStyle = xlNone
  8.       PageSetup.PrintArea = "C1:I" & Target.Row - 1
  9.    End If
  10. End If
  11. End Sub
複製代碼

1.gif

TOP

回復 14# jackson7015


If (Target.Column = 3) And (Target.Row Mod 10) = 6 Then
     欄號為3                                    列號/10後餘數為6

TOP

回復 16# jackson7015

11# 之說明
功能:當C欄列號個位數為3之儲存格值有變動時且該儲存格不為空值=>自動加10列框線
     當C欄列號個位數為3之儲存格值有變動時且該儲存格為空值=>自動取消10列框線
13# 之動畫說明
=>目前提供之方法,適合C欄儲存格逐格往下輸入之操作方式

若是C欄資料已事先建立好,要一次判斷全部之框線,則程式要作修改(若要修改請附檔案)

TOP

回復 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

回復 22# jackson7015

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

預覽列印 或 列印 即會生效

TOP

回復 24# jackson7015

程式碼加在ThisWorkbook內


其他工作表內的程式刪除

TOP

        靜思自在 : 一個人不怕錯,就怕不改過,改過並不難。
返回列表 上一主題