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

variabel printbereik

Status
Niet open voor verdere reacties.

Gijsbert1960

Gebruiker
Lid geworden
5 jul 2017
Berichten
135
Hallo Allemaal

Ik heb op deze site gezocht op " variabel printbereik" en wat gevonden komende van VenA nl een code waar de oplossing was om die rechtstreeks te plaatsen.

Code:
OFFSET(Annuïteiten!$A$1;;;Annuïteiten!$D$6+22;7)
aangepast naar
OFFSET(Reisplan!$A$1;;;Reisplan!$AH$3+115;10)

Onder naam defineren de naam: afdrukbereik waarde: {...} verwijst naar: =OFFSET(Reisplan!$A$1;;;Reisplan!$AH$3+115;30) bereik: Reisplan
Het zijn 2 pagina's bij elkaar 115 regels standaard dus 115 en eventueel pagina 3 in AH$3 het aantal regels. Als ik dan de print knop gebruik wordt alleen pagina 1 afgedrukt ipv 2 of 3.
Wat doe ik dan fout.

M vr gr
Gijs
 
Het is mij niet duidelijk wat nu de bedoeling is.

Misschien dat zoiets in de buurt komt
Code:
Private Sub CommandButton1_Click()
  Range("A1:AD" & 120 + Range("AH3").Value).PrintPreview
End Sub
 
Hallo VenA

Het is de bedoeling dat als de regels vanaf 120 inhoud hebben dat het printbereik dan 3 pagina's afdrukt. Ik had een code die volgens mij van U afkomstig is uit een ander topic over bereik aangepast en via naam defineren onder afdrukbereik geplaatst.
Misschien kunt U me vertellen hoe ik de code =OFFSET(Reisplan!$A$1;;;Reisplan!$AH$3+115;30) moet plaatsen onder naam afdrukbereik ik heb dat geprobeerd via naam defineren en zie via naambeheer het volgende staan
Onder naam defineren de naam: afdrukbereik waarde: {...} verwijst naar: =OFFSET(Reisplan!$A$1;;;Reisplan!$AH$3+115;30) bereik: Reisplan En dan met een code hieronder af te drukken naar een map.

maar het bereik wordt niet aangepast. Of de code van #4 werkt zoals ik het zou willen maar weet niet hoe te verwerken in mijn afdrukcode hieronder .

Code:
Sub PrintRP()
With ActiveSheet
        Dim FacName As String
        FacName = ActiveSheet.Range("AK1") & " " & ActiveSheet.Range("AL1").Value
            ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:="C:\Users\Neptunis\Desktop\NEPTUNUS\Reisplan\" & FacName & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=False, IgnorePrintAreas:=False, From:=1, To:=1, OpenAfterPublish:=False
        End With
End Sub
 
Zoals in #4 staat heb je het hele afdrukbereik niet nodig maar kan je het direct aan het Range object meegeven. Printen of exporteren naar PDF werkt identiek. (Kan beide vanuit het Range object.)
 
Hallo VenA

Ik had een andere formule gevonden over PrintArea en in mijn code gezet met de code uit #4 met wat U zei van Range object ik weet niet of de code goed is opgezet of dat ik iets mis maar krijg geen foutmelding maar print alleen pagina 1. Dus conclusie is dat ik niet weet hoe #4 toe te passen en aan het Range object mee te geven

Code:
Sub PrintRP()
With ActiveSheet
        Dim FacName As String
        FacName = ActiveSheet.Range("AK1") & " " & ActiveSheet.Range("AL1").Value
        With .PageSetup
            .PrintArea = Range("A1:AD" & 120 + Range("AH3").Value)
            .Orientation = xlPortrait
            .FitToPagesWide = 1
        End With
            ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:="C:\Users\Neptunis\Desktop\NEPTUNUS\Reisplan\" & FacName & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=False, IgnorePrintAreas:=False, From:=1, To:=1, OpenAfterPublish:=False
        End With
End Sub

M vr gr
Gijs
 
Kijk nog eens naar #4. Zie je daar iets van pagesetup staan? Ik niet.
 
Plaats het bestand, dan kunnen anderen zien wat je bedoelt met 2 of 3.
 
Hallo VenA

Ben net uit bed na lossen nu weer varen, vandaar late reactie.
Het bestand staat onder #3 blad reisplan daar staat bij wat ik bedoel met pagina 3 wanneer die wel geprint moet worden

M vr gr
Gijs
 
Dan zal dit ook wel werken
Code:
Sub Row_verberg()
  Rows("116:145").Hidden = Range("AH3").Value = 1
End Sub
 
mogelijks verbetering,
in Opties>geavanceerd en dan bij het tabblad "nul weergeven in cellen met nulwaarde" dat vinkje weghalen = alle nullen weg !
 
Hallo VenA

Het werkt met die code van U prima is toch weer een stukje korter. Om de code Range("A1:AD" & 120 + Range("AH3").Value).PrintPreview in een Range object te zetten wist ik niet hoe te doen dus een andere oplossing gezocht en gevonden. Ik ben niet goed met VBA maar via omwegen kom ik ook waar ik wil maar niet altijd. Hartelijk dank En Cow18 in het orgineel heb ik dat alleen in voorbeeld niet die had ik snel gekopieerd vandaar de nullen.

M vr gr
Gijs
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan