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

Vba code printbereik met voorwaarde

Status
Niet open voor verdere reacties.

Saturnus twente

Gebruiker
Lid geworden
4 aug 2010
Berichten
33
Hallo,

ik heb hier op dit forum een VBA gekregen voor printen met variable printbereik

maar nu wil ik deze ook in een ander bestand gebruiken.

Hierbij de code die ik heb

Code:
Sub PrintMateriaal perpersoon()
    With ActiveSheet
        lr = .Range("A" & Rows.Count).End(xlUp).Row
        With .PageSetup
            .PrintArea = "$B$2:$E$" & lr
            .Orientation = xlPortrait
            .FitToPagesWide = 1
        End With
        .PrintOut
        Application.Goto .Cells(2, 2)
    End With
 End Sub
Hij kijkt dus in cel A waar daar het laaste staat.

maar in mijn nieuwe document heb ik om de 10 regels ( kan varieren) in cel A** deze formule staan deze
Code:
=IF($E91>0;1;0)
E91 is om de 10 regels ook anders, maar dit is dus de voorwaarde als daar dus een getal groter dan 0 staat hij een 1 in cel A** zet.

en daar wou ik dus de VBA naar laten kijken maar hij ziet dus ook de formule als als inhoud..
kan ik bovenstaande VBA zo aanpassen dat hij alleen maar naar waarde "1" kijkt in kollom A en verder niet?

ik hoop dat dit duidelijk genoeg is..

b.v.d. Gert-Jan

p.s. Andere Ideen zijn ook wel kom.
 
Laatst bewerkt:
Kun je beginnen code-markeringen (tags) in je bericht te gebruiken ?
 
Als je je bericht plaatst kies je voor 'ga geavanceerd' in plaats van 'snel reageren' en gebruik je de #-knop om code-tags rond je code te plaatsen.
Je bericht ziet er na plaatsing een stuk overzichtelijker uit. Probeer maar eens.
 
Tag gezet

Bedankt voor de tip

het ziet er idd stuk beter uit..

Ik wist niet dat dit kon...
mooi dat het zo kan.. hopen dat iemand me met de oplossing kan helpen..
 
Kijk eens of dit is wat je bedoelt:
Code:
Sub PrintMateriaal_perpersoon()
    With ActiveSheet
        lr = [max(if(A2:A10000=1,row(A2:A10000)))]
        With .PageSetup
            .PrintArea = "$B$2:$E$" & lr
            .Orientation = xlPortrait
            .FitToPagesWide = 1
        End With
        .PrintOut
        Application.Goto .Cells(2, 2)
    End With
 End Sub
 
Laatst bewerkt:
Dank u

Dank u het werkt perfect...


Maar nu was ik nog 1 ding vergeten te vragen...
nu wil ik de Buton op een ander blad zetten dan welke hij uit moet draaien ( dan heb ik de butons bij elkaar)

nu heet mijn blad die hij uit moet draaien: Materiaallijst per person
en het blad waar de buton staat: Invullijst.
na het printen wil ik graag dat deze terug gaat naar blad invullijst cel "B2"

waar geef ik die verwijzing op?

b.v.d. Gert-Jan
 
Code:
Sub PrintMateriaal_perpersoon()
    With Sheets("Materiaallijst per persoon")
        lr = [max(if('Materiaallijst per persoon'!A2:A10000=1,row('Materiaallijst per persoon'!A2:A10000)))]
        With .PageSetup
            .PrintArea = "$B$2:$E$" & lr
            .Orientation = xlPortrait
            .FitToPagesWide = 1
        End With
        .PrintOut
        Application.Goto Cells(2, 2)
    End With
 End Sub
 
wellicht is dit voldoende:

Code:
Sub PrintMateriaal_perpersoon()
    With Sheets("Materiaallijst per persoon")
        .PageSetup.PrintArea = .usedrange.offset(1,1).resize(,4).address
        .PrintOut
    End With
    Application.Goto [invullijst!B2]
 End Sub
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan