Board logo

標題: [發問] 報表頁尾插行 [打印本頁]

作者: jak    時間: 2012-11-13 12:33     標題: 報表頁尾插行

Sub 插行()
Dim c As Integer
c = 50
For i = 1 To 10
Range("2:2").Copy
Range(c & ":" & c).Insert (XlInsertShiftDirection.xlShiftDown)
c = c + 47

Next
Application.CutCopyMode = False
End Sub

我想在每頁的頁尾貼上第2列標頭,以上是網路上找來修改的,貼幾頁(次)要自己設定,有沒有辦法讓他自動判別頁數,不用再修改i值呢?
--
初學腦袋還轉不太過來,持續參考前人智慧中=__=
作者: jak    時間: 2012-11-15 10:00

感謝GBKEE大大撥冗回覆m(_   _)m
頁尾我想重覆第2行的"表格"(頁首可以用"列印標題"解決)
但是頁尾看前輩們的建議是,改成圖片放入頁尾或手動插行
我的頁尾常變動,改成圖片很耗時間,所以想用vba執行插行

以下為參考的文章
http://forum.twbts.com/viewthread.php?tid=6672
http://tw.knowledge.yahoo.com/question/question?qid=1012101501113
不過太花時間,都不太符合我的需求

--
我還很菜,請大家見諒
作者: softsadwind    時間: 2012-11-15 12:13

  1. Sub 插行()
  2. Dim c, r, j As Integer
  3. c = 50

  4. r = Range("A65536").End(xlUp).Row


  5. If r > 50 Then

  6. Range("2:2").Copy
  7. Range(c & ":" & c).Insert (XlInsertShiftDirection.xlShiftDown)
  8. j = WorksheetFunction.RoundDown((r - 50) / 47, 0)
  9. End If
  10. For i = 1 To j
  11. c = c + 47
  12. Range(c & ":" & c).Insert (XlInsertShiftDirection.xlShiftDown)

  13. Next
  14. Application.CutCopyMode = False
複製代碼

作者: jak    時間: 2012-11-15 13:37

本帖最後由 jak 於 2012-11-15 13:38 編輯

感謝softsadwind 大大幫忙,我試過你的程式碼了,可以解決我的問題,
以下有兩行藍色的部分,應該是大大忙中漏了,加上就可符合我的需求,再次感謝m(_  _)m。

Sub 插行()
Dim c, r, j As Integer
c = 50

r = Range("A65536").End(xlUp).Row


If r > 50 Then

Range("2:2").Copy
Range(c & ":" & c).Insert (XlInsertShiftDirection.xlShiftDown)
j = WorksheetFunction.RoundDown((r - 50) / 47, 0)
End If
For i = 1 To j
c = c + 47
Range("2:2").Copy
Range(c & ":" & c).Insert (XlInsertShiftDirection.xlShiftDown)

Next
Application.CutCopyMode = False
End sub




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