• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Print out Range

Status
Niet open voor verdere reacties.

verluc

Gebruiker
Lid geworden
29 mei 2009
Berichten
535
Heb een vraagje in verband met het printen van een range.
In mijn macro staat om te printen A2:H laatste cel.
Het volledige blad loopt van kolom A tot en met U
Deze macro vormt geen enkel probleem voor zover de laatste cel van kolom H
is ingevuld.Maar wanneer deze "blanco" is loopt de macro tot de effectief laatste
ingevulde cel van kolom H.
Hoe kan dit worden voorkomen ?
 
Sub druk()
If Application.Dialogs(xlDialogPrinterSetup).Show = False Then Exit Sub
With ActiveSheet.Range("A:H").Columns.AutoFit
End With
Dim Werkblad As Worksheet
For Each Werkblad In Worksheets
Werkblad.PageSetup.RightFooter = " &""Verdana ,Standaard""&10 Pagina &P - &N"
Next
ActiveSheet.Range("A1:H" & [H65536].End(xlUp).Row).PrintOut
End Sub
 
Als de volgorde van werken voor u oké is dan voor mij ook.
De code loopt goed bij mij, of ik nu iets invul in kolom H of niet.

PS: Kan je je code tussen tags zetten op het forum aub?
 
Akkoord, maar als U iets invult alleen in kolom B bijvoorbeeld en niets in H OP DE LAATSTE LIJN dan
word deze lijn niet uitgeprint.
 
Beste Cobbe, indien mijn macro korter kan, deze is altijd welkom natuurlijk.
Zo kan ik altijd iets bijleren !
 
Nu snap ik hem ook. :)
Probeer dan deze maar eens:

Code:
Sub druk()
    If Application.Dialogs(xlDialogPrinterSetup).Show = False Then Exit Sub
    With ActiveSheet.Range("A:H").Columns.AutoFit
    End With
    Dim Werkblad As Worksheet
    For Each Werkblad In Worksheets
        Werkblad.PageSetup.RightFooter = " &""Verdana ,Standaard""&10 Pagina &P - &N"
    Next
    Lastrow = Range("A1").CurrentRegion.Rows.Count
    ActiveSheet.Range("A1:H" & Lastrow).PrintPreview
End Sub
 
mijn macro korter kan

Maar dan moet ik weten wat eigenlijk de bedoeling is van je macro.
Nu print je maar telkens één blad uit terwijl je wel aanpassingen doet in alle bladen.
Als het de bedoeling is om aanpassingen te doen in elk blad en dan dit blad uti te printen kan je een lus maken van je totale bewerking.
 
Cobbe, zie hieronder mijn aangepaste macro.
Indien U deze nog eventueel kan inkorten, graag.
Mvg

Sub druk()
If Application.Dialogs(xlDialogPrinterSetup).Show = False Then Exit Sub
Application.ScreenUpdating = False
With ActiveSheet.Range("A:H").Columns.AutoFit
End With
PageSetup.RightFooter = " &""Verdana ,Standaard""&10 Pagina &P - &N"
Lastrow = Range("A1").CurrentRegion.Rows.Count
ActiveSheet.Range("A1:H" & Lastrow).PrintOut
End Sub
 
Code:
Sub druk()
 If Application.Dialogs(xlDialogPrinterSetup).Show = False Then Exit Sub
 With Application
           .ScreenUpdating = False
     With ActiveSheet
               .Range("A:H").Columns.AutoFit
                 .PageSetup.RightFooter = " &""Verdana ,Standaard""&10 Pagina &P - &N"
                   Lastrow = .Range("A1").CurrentRegion.Rows.Count
                    .Range("A1:H" & Lastrow).PrintOut
      End With 
         .Screenupdating = False
 End with
 End Sub
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan