返回列表 上一主題 發帖

[發問] 表單列印超過一頁範圍,可否在列印時單頁加總數值?

本帖最後由 register313 於 2012-6-3 23:17 編輯

回復 1# zhiling
分頁小計累計.rar (14.23 KB)
  1. Private Sub CommandButton1_Click()
  2. N = 10
  3. CommandButton2_Click
  4. ResetAllPageBreaks
  5. r = [A65536].End(xlUp).Row
  6. If r Mod N <> 0 Then m = r \ N + 1
  7. For i = m To 1 Step -1
  8.   k = i * N + 2
  9.   Rows(k & ":" & k + 1).Insert Shift:=xlDown
  10.   Cells(k, 1) = "小計"
  11.   Cells(k + 1, 1) = "累計"
  12.   Cells(k, 2) = Application.Sum(Range(Cells(k - N, 2), Cells(k - 1, 2)))
  13.   Cells(k + 1, 2) = Application.Sum(Range(Cells(3, 2), Cells(k - 1, 2)))
  14.   HPageBreaks.Add Before:=Range("A" & k + 2)
  15. Next i
  16. r = [A65536].End(xlUp).Row
  17. PageSetup.PrintTitleRows = Rows("1:2").Address
  18. PageSetup.PrintArea = "$A$2:$B$" & r
  19. End Sub

  20. Private Sub CommandButton2_Click()
  21. Dim Rng As Range
  22. r = [A65536].End(xlUp).Row
  23. For i = r To 1 Step -1
  24.   If Cells(i, 1) = "小計" Or Cells(i, 1) = "累計" Then
  25.     If Rng Is Nothing Then
  26.       Set Rng = Rows(i)
  27.     Else
  28.       Set Rng = Union(Rng, Rows(i))
  29.     End If
  30.   End If
  31. Next i
  32. If Not Rng Is Nothing Then Rng.Delete
  33. End Sub
複製代碼
  1. Private Sub CommandButton1_Click()               '加入分頁小計累計
  2. N = 10                                           '設定10筆資料一頁
  3. CommandButton2_Click
  4. ResetAllPageBreaks                               '重設所有分頁線
  5. r = [A65536].End(xlUp).Row
  6. If r Mod N <> 0 Then m = r \ N + 1               '共有幾個20的倍數
  7. For i = m To 1 Step -1
  8.   k = i * N + 2
  9.   Rows(k & ":" & k + 1).Insert Shift:=xlDown     '加入2列空白列
  10.   Cells(k, 1) = "小計"
  11.   Cells(k + 1, 1) = "累計"
  12.   Cells(k, 2) = Application.Sum(Range(Cells(k - N, 2), Cells(k - 1, 2)))  '小計
  13.   Cells(k + 1, 2) = Application.Sum(Range(Cells(3, 2), Cells(k - 1, 2)))  '累計
  14.   HPageBreaks.Add Before:=Range("A" & k + 2)     '水平分頁線
  15. Next i
  16. r = [A65536].End(xlUp).Row
  17. PageSetup.PrintTitleRows = Rows("1:2").Address   '設定標題列
  18. PageSetup.PrintArea = "$A$2:$B$" & r             '設定列印範圍
  19. End Sub

  20. Private Sub CommandButton2_Click()                 '移除分頁小計累計
  21. Dim Rng As Range
  22. r = [A65536].End(xlUp).Row
  23. For i = r To 1 Step -1
  24.   If Cells(i, 1) = "小計" Or Cells(i, 1) = "累計" Then
  25.     If Rng Is Nothing Then
  26.       Set Rng = Rows(i)
  27.     Else
  28.       Set Rng = Union(Rng, Rows(i))
  29.     End If
  30.   End If
  31. Next i
  32. If Not Rng Is Nothing Then Rng.Delete
  33. End Sub
複製代碼

TOP

回復 8# ccp

一般操作:
格式/儲存格 數值 勾選千分位

工作表函數:
=TEXT(數值,"0,000")

VBA:
Format(數值, "0,000")

TOP

        靜思自在 : 成功是優點的發揮,失敗是缺點的累積。
返回列表 上一主題