Skapa utskriftsområde för arbetsblad


I detta tips demonstreras en teknik för att skapa ett utskriftsområde mha VBA. I exemplet ska den sista ifyllda cellen i kolumn A bestämma hur omfattande utskriftsområdet ska vara oberoende av de övriga kolumnerna.

 

Om ett felmeddelande erhålls vid kopiering till VBA-modul så läs mer här»
 

 

(© 2002 - 2004 All rights Colo - Used by permission)

Option Explicit

 

Private Sub Workbook_BeforePrint(Cancel As Boolean)

   '© 2004 Alla Rättigheter XL-Dennis

   Dim wsSheet As Worksheet

   Dim rnLast As Range, rnUsed As Range, rnPrint As Range

 

   Set wsSheet = ActiveSheet

 

   Application.ScreenUpdating = False

 

   With wsSheet

      'Ta bort tidigare uppgift.

      .PageSetup.PrintArea = ""

      'Identifierar den sista ifyllda cellen i kolumn A.

      .Set rnLast = .Range("A65536").End(xlUp)

      Set rnUsed = .UsedRange

      'Dimensionerar det tilltänkta utskriftsområdet.

      Set rnPrint = rnUsed.Resize(rnLast.Row)

      'Anger utskriftsområdet.

      .PageSetup.PrintArea = rnPrint.Address

   End With

 

   Application.ScreenUpdating = True

 

End Sub