Advertisement
01001011

Excel VBA: Print Current Page Containing Cursor Only

Oct 22nd, 2019
429
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. 'EXCEL VBA: Print current page containing cursor only
  2.  
  3. Sub PrintPageContainingCursor()
  4. 'Leo Heuser, 4 Feb. 2004
  5. Dim Hpb As HPageBreak
  6. Dim HorizPagebreak As Long
  7. Dim NumberOfHorizPages As Long
  8. Dim NumberOfVertiPages As Long
  9. Dim PageNumber As Long
  10. Dim Vpb As VPageBreak
  11. Dim VertiPagebreak As Long
  12.  
  13.     With ActiveSheet
  14.         NumberOfHorizPages = .HPageBreaks.Count + 1
  15.         NumberOfVertiPages = .VPageBreaks.Count + 1
  16.        
  17.         For Each Vpb In .VPageBreaks
  18.             If Vpb.Location.Column < ActiveCell.Column Then
  19.                 VertiPagebreak = VertiPagebreak + 1
  20.             End If
  21.         Next Vpb
  22.        
  23.         For Each Hpb In .HPageBreaks
  24.             If Hpb.Location.Row < ActiveCell.Row Then
  25.                 HorizPagebreak = HorizPagebreak + 1
  26.             End If
  27.         Next Hpb
  28.        
  29.         If .PageSetup.Order = xlOverThenDown Then
  30.             PageNumber = NumberOfVertiPages * HorizPagebreak + VertiPagebreak + 1
  31.         Else
  32.             PageNumber = NumberOfHorizPages * VertiPagebreak + HorizPagebreak + 1
  33.         End If
  34.        
  35.         .PrintOut , from:=PageNumber, to:=PageNumber, copies:=1
  36.     End With
  37. End Sub
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement