ªð¦^¦Cªí ¤W¤@¥DÃD µo©«

[µo°Ý] ½Ð°Ý¦U¦ì¥ý¶i¡A¦p¦ó¥ÎVBA¼g¦bÀx¦s®æ¸Ì¸Ó­¶­¶½X?

[µo°Ý] ½Ð°Ý¦U¦ì¥ý¶i¡A¦p¦ó¥ÎVBA¼g¦bÀx¦s®æ¸Ì¸Ó­¶­¶½X?

ªí³æ¤¤¦³³\¦h­¶¡A·Q°µ"­¶¼Æ/Á`­¶¼Æ"©ñ¦b¬Y®æÀx¦s®æ¤¤¡A¤£¬O¥Î­¶­º­¶§Àªº­¶½X
½Ð°Ý¦U¦ì¥ý¶i¡A¦p¦ó¥ÎVBA¼g¦bÀx¦s®æ¸Ì¸Ó­¶­¶½X?

¦^´_ 8# gn00713242
§Ú¤]¦b¾Ç, Ãä¾ÇÃä½æ, Á°Õ!!

TOP

¦^´_  gn00713242
ªá¤F¤@¾ã©]ªº´ú¸Õ»P­×§ï, ²×©ó§¹¦¨¤F,
½Ð¸Õ¸Õ¬Ý:
yen956 µoªí©ó 2014-4-8 13:30



   ¶W·P°Êªº!!ÁÂÁ¤j¤j°ª¤âªº§V¤O!!

TOP

¥»©«³Ì«á¥Ñ yen956 ©ó 2014-4-8 13:32 ½s¿è

¦^´_ 5# gn00713242
ªá¤F¤@¾ã©]ªº´ú¸Õ»P­×§ï, ²×©ó§¹¦¨¤F,
½Ð¸Õ¸Õ¬Ý:
  1. '­×§ï¦Û¤U¦Cºô­¶¡G
  2. 'http://www.ozgrid.com/forum/showthread.php?t=83326
  3. 'Border Around Each Printed Page
  4. 'VB:

  5. Sub testPages()
  6.     Dim lastRow, lastCol, lastRow2, lastCol2 As Integer
  7.     Dim HPBreak, VPBreak, totHP, totVP As Integer
  8.     Dim cVP, rHP, row1, cow1, flagHP, flagVP As Integer
  9.     Dim ar
  10.    
  11.     With ActiveSheet
  12.    
  13.         '¨ú±o¦C¦L½d³ò ªº ¤UÃä¬É¤Î¥kÃä¬É
  14.         '³o¬O¤ñ¸û¸û²Âªº¤èªk, ¦p¦³¸û²±¶ªº¤èªk, ·Ð½Ð§iª¾
  15.         strPrintArea = .PageSetup.PrintArea
  16.         ar = Split(strPrintArea, ":")
  17.         ar = Split(ar(1), "$")
  18.         lastRow = --ar(2)
  19.         lastCol = Asc(ar(1)) - 64
  20.         
  21.         totVP = .VPageBreaks.Count    '¨ú±o ««ª½¤À­¶½u ªº Á`¼Æ
  22.         totHP = .HPageBreaks.Count    '¨ú±o ¤ô¥­¤À­¶½u ªº Á`¼Æ
  23.         
  24.         '¨ú±o ³Ì¤j¤ô¥­¤À­¶½u ©Ò¦bªº ¤UÃä¬É
  25.         lastRow2 = .HPageBreaks(totHP).Location.Row - 1
  26.         '¨ú±o ³Ì¤j««ª½¤À­¶½u ©Ò¦bªº ¥kÃä¬É
  27.         lastCol2 = .VPageBreaks(totVP).Location.Column - 1
  28.         
  29.         '¤½¦¡¡G¦C¦LÁ`­¶¼Æ = (VPageBreaks.Count + 1)*(HPageBreaks.Count+1)
  30.         '¨Ã«D¤@Åé¾A¥Î, why? ½Ð°Ñ¦Ò¤U¹Ï§Yª¾:
  31.         '¥H¤U­×¥¿ ¦C¦LÁ`­¶¼Æ ªº¤½¦¡
  32.         If lastRow2 = lastRow Then
  33.             flagHP = 0
  34.         Else
  35.             flagHP = 1
  36.         End If
  37.         If lastCol2 = lastCol Then
  38.             flagVP = 0
  39.         Else
  40.             flagVP = 1
  41.         End If
  42.         
  43.         totHP = totHP + flagHP
  44.         totVP = totVP + flagVP
  45.         
  46.         '­pºâ¥þ³¡¦C¦L­¶¼Æ
  47.         totPg = (totVP) * (totHP)
  48.         
  49.         '¤]¥i³z¹L Excel4Macro ¨ú±o¥þ³¡¦C¦L­¶¼Æ (Excel 2003¥H¤U¾A¥Î)
  50.         'totPg = ExecuteExcel4Macro("Get.Document(50)")
  51.         
  52.         cow1 = 1
  53.         currentP = 1
  54.       
  55.         For VPBreak = 1 To totVP
  56.             
  57.             If VPBreak = totVP Then
  58.                 cVP = lastCol
  59.             Else
  60.                 cVP = .VPageBreaks(VPBreak).Location.Column - 1
  61.             End If
  62.             
  63.             For HPBreak = 1 To totHP
  64.                 '¨ú±o¥Ø«e¤ô¥­¤À­¶½uªº¤UÃä¬É
  65.                
  66.                 If HPBreak = totHP Then
  67.                     rHP = lastRow
  68.                 Else
  69.                     rHP = .HPageBreaks(HPBreak).Location.Row - 1
  70.                 End If
  71.                 .Cells(rHP, Int((cVP - cow1 + 1) / 2) + cow1) = "¦@" & totPg & "­¶¤§²Ä" & currentP & "­¶"
  72.                 currentP = currentP + 1
  73.             Next
  74.             cow1 = cVP + 1
  75.         Next
  76.     End With
  77.      
  78. End Sub
½Æ»s¥N½X

TOP

¦^´_ 5# gn00713242
  1. 'ThisWorkbook ªºµ{¦¡½X
  2. Private Sub Workbook_BeforePrint(Cancel As Boolean) '¤u§@ªí¦³¦L¦C®ÉªºÄ²°Êµ{¦¡
  3.     Application.CalculateFull
  4.     'CalculateFull ¤èªk ±j­¢¹ï©Ò¦³¶}±Ò¬¡­¶Ã¯¤¤ªº¸ê®Æ¶i¦æ§¹¾ã­pºâ
  5. End Sub
½Æ»s¥N½X
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

¦^´_  gn00713242
§ä¨ì¤F,
http://gb.twbts.com/index.php?topic=4194.msg21593
½Ð°Ñ¦Ò
yen956 µoªí©ó 2014-4-1 13:39



·PÁ¤j¤j¡A¤À¨É¡C
§Ú¬Ý¹L¤å³¹¡A¦¹¤å³¹¤£¬O¥ÎVBA¼gªº¡A¬O¥Î"©w¸q"
§Ú¸Õ¹L¡A¦p¸ÓÀx¦s®æ¤@¶}©l©w¸q¬° ­¶¼Æ "1/3­¶"¡A·í§Ú¦C¦L½d³òÁ`­¶¼Æ§ó§ï¬°5­¶®É
§ïÀx¦s®æÁÙ¬O¦b "1/3­¶"¡A¤£·|ÀHµÛ¦C¦L½d³òÅܤƦÓÅܤơA
ÁÙ¬O¦³­n³]©wªº¤~·|ÅܤÆ?

TOP

¥»©«³Ì«á¥Ñ yen956 ©ó 2014-4-1 13:41 ½s¿è

¦^´_ 3# gn00713242
§ä¨ì¤F,
http://gb.twbts.com/index.php?topic=4194.msg21593
½Ð°Ñ¦Ò

TOP

·PÁ¤j¤jªº¦^ÂÐ
¥i§Ú¨Ï¥Î«á¡A¦C¦L­¶¼ÆÅܤƮɡA³£·|¦b"1/3­¶"

TOP

¦^´_ 1# gn00713242
¸Õ¸Õ¬Ý(VBA):
   ActiveSheet.Index & "/" & Worksheets.Count & "­¶"

TOP

        ÀR«ä¦Û¦b : ¤H¨ÆªºÁ}Ãø»PµZ¿i¡A´N¬O¤@ºØ¦ÒÅç¡C
ªð¦^¦Cªí ¤W¤@¥DÃD