返回列表 上一主題 發帖

[發問] 如何依據儲存格函數判斷列印範圍?

回復 3# jackson7015
  1. '支票 工作表模組 的程式碼
  2. Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  3.     If Target.Address = "$B$3" And [B3] > 0 Then
  4.        If MsgBox("印列 支票 " & Target & "筆", vbYesNo + vbInformation) = vbYes Then
  5.             Sheet_PageSetup
  6.             Sheet_PrintOut
  7.        End If
  8.     End If
  9. End Sub
  10. Private Sub Sheet_PageSetup()      '印列的設定
  11.     With PageSetup
  12.         .PrintArea = "$I$44:$W$65"  '印列範圍   "一張支票的範圍"
  13.         .CenterHorizontally = True  '如果列印時頁面上的工作表是水平置中的則為 True
  14.         .CenterVertically = True    '如果列印時頁面上的工作表是垂直置中的則為 True
  15.         .PaperSize = xlPaperB4      '設定紙張大小  '可看PaperSize 說明
  16.         .FitToPagesWide = 1         '設定頁寬=1頁
  17.         .FitToPagesTall = 1         '設定頁高=1頁
  18.     End With
  19. End Sub
  20. Private Sub Sheet_PrintOut()
  21.     For I = 1 To [B3]
  22.         [L50] = Cells(I + 6, "C")
  23.         [M50] = Cells(I + 6, "D")
  24.         [O50] = Cells(I + 6, "E")
  25.         [P50] = Cells(I + 6, "F")
  26.         [Q50] = Cells(I + 6, "G")
  27.         PrintOut Copies:=5    '"一張支票的範圍"  印列 五聯單
  28.     Next
  29. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 6# jackson7015

支票 工作表模組 的程式碼

感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 9# jackson7015
列印範圍的部份有錯誤
第一聯要從J:X;第二聯要從Y:AN;類推..
列印部分變成第一聯的J:W有五份
應該要1~5聯各一份,每聯的列印範圍為22R*16C

你1樓的附檔,資料只有A:H 欄有資料可以重新附檔說明看看嗎.
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 11# jackson7015


試試看

    Ex.rar (120.47 KB)
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 13# jackson7015
[預覽列印] 可關閉它或是選擇印列,但無法傳回參數供程式作中斷印列或繼續印列的判斷.

且使用:使用視窗的檢視模式切換為分頁符號預覽 試試看
  1. Sub Ex()
  2.     Dim Rng As Range, Ar(1 To 5), i As Integer, x As Integer
  3.     With Sheets("未到期支票標準")
  4.         If .Range("B3") = 0 Then
  5.             MsgBox "沒有資料可印列 ?"
  6.             Exit Sub
  7.         End If
  8.         ActiveWindow.View = xlPageBreakPreview  '使用中視窗的檢視模式切換為分頁符號預覽
  9.         Ar(1) = "第一聯"
  10.         Ar(2) = "第二聯"
  11.         Ar(3) = "第三聯"
  12.         Ar(4) = "第四聯"
  13.         Ar(5) = "第五聯"
  14.         .ScrollArea = "I6:x27"
  15.         With .PageSetup
  16.             .PrintArea = "I6:x27"  '印列範圍   "一張支票的範圍"
  17.             .CenterHorizontally = True  '如果列印時頁面上的工作表是水平置中的則為 True
  18.             .CenterVertically = True    '如果列印時頁面上的工作表是垂直置中的則為 True
  19.             .PaperSize = xlPaperA4      '設定紙張大小  '可看PaperSize 說明
  20.             .FitToPagesWide = 1         '設定頁寬=1頁
  21.             .FitToPagesTall = 1         '設定頁高=1頁
  22.         End With
  23.         
  24.         For i = 1 To .[B3]
  25.             Set Rng = .Range("C6:g6").Offset(i)
  26.             .Range("L12") = Rng(1, 1)  '票據號碼
  27.             .Range("M12") = Rng(1, 2)  '金額
  28.             .Range("O12") = Rng(1, 3)  '年
  29.             .Range("P12") = Rng(1, 4)  '月
  30.             .Range("Q12") = Rng(1, 5)  '日
  31.             .Range("X10") = Ar(1)
  32.             If MsgBox(.Range("L12") & " 印列", vbYesNo, "票據號碼") = vbYes Then
  33.                 For x = 1 To 5
  34.                     .Range("X10") = Ar(x)
  35.                     .PrintOut Copies:=1      '一張支票的範圍印列五次
  36.                 Next
  37.             End If
  38.         Next
  39.         .ScrollArea = ""
  40.     End With
  41.     ActiveWindow.View = xlNormalView
  42. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

        靜思自在 : 太陽光大、父母恩大、君子量大,小人氣大。
返回列表 上一主題