• 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.

Afdrukken met verborgen kolommen lukt niet

Status
Niet open voor verdere reacties.

Evelthoven

Gebruiker
Lid geworden
26 sep 2006
Berichten
690
Goedenavond,

Ik heb in Excel een lijst gemaakt met allerlei gegevens waarvoor ik met veel gezoek in dit forum en knipwerk een macro heb gemaakt die bijna werkt.
Bijgesloten de code:

Code:
Sub Printen_op_Artiest()
Application.ScreenUpdating = False
Application.EnableEvents = False

Range("A11").Select
Sheets("Gegevens").Select

LastRow = Range("A65536").End(xlUp).Row
Range("A10:F" & LastRow).Select

    Selection.Copy
    Sheets("Gegevens").Select
    Range("A10").Select
    ActiveSheet.Paste
     Columns("A:F").Select
    Selection.Columns.AutoFit
    
LastRow = Range("A65536").End(xlUp).Row
Range("A10:i" & LastRow).Select

    Application.CutCopyMode = False
    Selection.Copy
    Selection.Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
    
LastRow = Range("A65536").End(xlUp).Row
Range("A10:F" & LastRow).Select

      Selection.Sort Key1:=Range("b11"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
Application.EnableEvents = True
Application.ScreenUpdating = True

Application.Goto Reference:="R10C1"
ActiveCell.Select
LastRow = Range("a65536").End(xlUp).Row
Range("a10:f" & LastRow).Select

'Columns("D:F").Select
    'Selection.EntireColumn.Hidden = True

With ActiveSheet.PageSetup
        .PrintTitleRows = "$10:$10"
End With

ActiveWindow.Selection.PrintOut Copies:=1, Collate:=True

Sorteren_op_Nummer

Application.Goto Reference:="R10C1"
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub

Als ik bovenstaande macro draai dan werkt hij goed, maar als ik voor de regels Columns("D:F").Select
Selection.EntireColumn.Hidden = True
de ' weghaal dan gebeurt er eigenlijk niks, in ieder geval er wordt niets geprint.

Wat ik eigenlijk wil is dat het overzicht afgedrukt wordt behalve de 3 laatste kolommen D tot en met F.

Staan deze twee regels misschien op de verkeerde plaats of is er iets anders aan de hand ?
Ik weet dat de macro zeer zeker de schoonheidsprijs niet verdient maar ik ben al blij dat hij op deze manier werkt.

Kan iemand mij a.u.b. verder helpen ?

Alvast bedankt voor jullie reacties.

Met vriendelijke groeten,
Eric
 
Ik ben tot een oplossing gekomen door de volgende regel in de macro aan te passen:

Range("a10:f" & LastRow).Select

a10:f heb ik gewijzigd in a10:c en nu drukt hij precies af wat ik wil.

Eigenlijk gemakkelijker dan ik dacht.

Toch iedereen bedankt die met het probleem bezig is geweest.

Eric
 
Dit kan iets simpeler:
Het verbergen is niet nodig om de kolommen niet af te drukken; Gebruik daarvoor de eigenschap die daarvoor bedoeld is: printarea.

Code:
Sub Printen_op_Artiest()
  Application.ScreenUpdating = False
  sheets(1).usedrange.copy sheets("gegevens").range("A10")
  with sheets("gegevens").usedrange
    .Columns.AutoFit
    .value=.value
    .Sort .Range("b11")
     .parent.pagesetup.printarea= .resize(,3).address
     .Parent.PageSetup.PrintTitleRows = "$10:$10"
     .PrintOut 
  end with
  Application.ScreenUpdating = True
End Sub
Vermijd select en activate in VBA: overbodig, vertragend en vwerwarrend (zoals in jouw code).
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan