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

via vba benoemd bereik afdrukken

Status
Niet open voor verdere reacties.

Remlo

Gebruiker
Lid geworden
20 mei 2011
Berichten
154
Hallo,

ik heb een macro opgenomen met de juiste printerinstellingen en wou deze aanpassen naar een benoemd afdrukbereik.
"Afdrukbereikweek" is een dynamische range. Wat is er verkeerd. Ben nog maar pas begonnen met hier en daar iets in vba te doen...

Sub afdrukkenWeek()
'
' afdrukkenWeek Macro
'

'
Application.PrintCommunication = False
With ActiveSheet.PageSetup
.PrintTitleRows = "$8:$8"
.PrintTitleColumns = ""
End With
Application.PrintCommunication = True
ActiveSheet.PageSetup.PrintArea = "Afdrukbereikweek"
Application.PrintCommunication = False
With ActiveSheet.PageSetup
.LeftHeader = ""
.CenterHeader = ""
.RightHeader = ""
.LeftFooter = ""
.CenterFooter = ""
.RightFooter = ""
.LeftMargin = Application.InchesToPoints(0)
.RightMargin = Application.InchesToPoints(0)
.TopMargin = Application.InchesToPoints(0)
.BottomMargin = Application.InchesToPoints(0)
.HeaderMargin = Application.InchesToPoints(0)
.FooterMargin = Application.InchesToPoints(0)
.PrintHeadings = False
.PrintGridlines = False
.PrintComments = xlPrintSheetEnd
.PrintQuality = 600
.CenterHorizontally = True
.CenterVertically = False
.Orientation = xlLandscape
.Draft = False
.PaperSize = xlPaperA4
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = False
.PrintErrors = xlPrintErrorsDisplayed
.OddAndEvenPagesHeaderFooter = False
.DifferentFirstPageHeaderFooter = False
.ScaleWithDocHeaderFooter = True
.AlignMarginsHeaderFooter = True
.EvenPage.LeftHeader.Text = ""
.EvenPage.CenterHeader.Text = ""
.EvenPage.RightHeader.Text = ""
.EvenPage.LeftFooter.Text = ""
.EvenPage.CenterFooter.Text = ""
.EvenPage.RightFooter.Text = ""
.FirstPage.LeftHeader.Text = ""
.FirstPage.CenterHeader.Text = ""
.FirstPage.RightHeader.Text = ""
.FirstPage.LeftFooter.Text = ""
.FirstPage.CenterFooter.Text = ""
.FirstPage.RightFooter.Text = ""
End With
Application.PrintCommunication = True
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
Range("AN25").Select
End Sub
 
Dit zal ook wel voldoen, denk ik zo:
Code:
Sub afdrukkenWeek()
 '
 ' afdrukkenWeek Macro
 '
 With ActiveSheet.PageSetup
    .PrintTitleRows = "$8:$8"
    .PrintTitleColumns = ""
 End With
    Range("Afdrukbereikweek").PrintPreview 'Copies:=1, Collate:=True
 
 End Sub
 
Cobbe,

ik krijg ook met jou oplossing een foutmelding
 
Cobbe,

fout 1004 Methode Range van object_Global is mislukt.
 
Is uw werkblad beveiligd?
Test het naambereik 'Afdrukbereikweek' eens.
 
Cobbe,

werkblad was niet beveiligd (maar is wel de bedoeling) Afdrukbereikweek werkte ook.

heb het als volgt opgelost...

Sub afdrukkenWeek()
'
' afdrukkenWeek Macro

'
With ActiveSheet.PageSetup
.Orientation = xlLandscape
.PrintTitleRows = "$8:$8"
.PrintTitleColumns = ""

End With
'Bepalen van afdrukgebied

Dim Copyrange As String
Dim mijnWaarde As String
Dim Startrow As String
Dim Lastrow As String

mijnWaarde = Range("AP6").Value 'Deze cel berekent de laatst af te drukken rij
Startrow = 1
Lastrow = mijnWaarde

Let Copyrange = "A" & Startrow & ":" & "AF" & Lastrow
Range(Copyrange).Select
Range(Copyrange).PrintPreview 'Copies:=1, Collate:=True
ActiveSheet.Range("D5").Select
End Sub
 
Als het opgelost is zet de vraag dan ook op opgelost! In het vervolg graag code tussen de daarvoor bedoelde tags.

Wat gaat gaat deze eigenlijk doen?
Code:
Let Copyrange = "A" & Startrow & ":" & "AF" & Lastrow
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan