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

Bepaalde pagina's in sheet onder voorwaarde afdrukken

Status
Niet open voor verdere reacties.

Sir Botex

Gebruiker
Lid geworden
26 dec 2008
Berichten
37
Hier ben ik weer...

Uit 1 sheet moeten de paginas die voldoen aan een bepaalde voorwaarde (een bepaalde cel mag niet 0 zijn) afgedrukt worden.

momenteel heb ik deze code, maar dit werkt niet...

Code:
Private Sub PrintRegressie_Click()
    Sheets("Regressie Expl 1").Select
        If ActiveSheet.Range("B10") = Not "0" Then Range("A1:H23").Select
        If ActiveSheet.Range("B33") = Not "0" Then Range("A24:H46").Select
        If ActiveSheet.Range("B56") = Not "0" Then Range("A47:H69").Select
        Selection.PrintPreview
    Sheets("Afdrukken").Select
End Sub

Alle tips zijn welkom!
 
Beste Sir Botex ;)

Als je If gebruikt moet je ook End If gebruiken.

Groetjes Danny. :thumb:
 
maar dit is het blijkbaar ook niet :o

Code:
Private Sub PrintRegressie_Click()
    Sheets("Regressie Expl 1").Select
        If ActiveSheet.Range("B10") = Not "0" Then Range("A1:H23").Select
        End If
        If ActiveSheet.Range("B33") = Not "0" Then Range("A24:H46").Select
        End If
        If ActiveSheet.Range("B56") = Not "0" Then Range("A47:H69").Select
        End If
        Selection.PrintPreview
    Sheets("Afdrukken").Select
End Sub


foutmelding: compile error. End If without block If
 
ondertussen ben ik zover:
Code:
Private Sub PrintRegressieExpl1_Click()
    Sheets("Regressie Expl 1").Select
        If ActiveSheet.Range("B10") <> 0 Then ActiveSheet.Range("A1:H23").Select
        If ActiveSheet.Range("B33") <> 0 Then ActiveSheet.Range("A24:H46").Select
        If ActiveSheet.Range("B56") <> 0 Then ActiveSheet.Range("A47:H69").Select
        If ActiveSheet.Range("B79") <> 0 Then ActiveSheet.Range("A70:H92").Select
        If ActiveSheet.Range("B102") <> 0 Then ActiveSheet.Range("A93:H115").Select
        If ActiveSheet.Range("B125") <> 0 Then ActiveSheet.Range("A116:H138").Select
        If ActiveSheet.Range("B148") <> 0 Then ActiveSheet.Range("A139:H162").Select
        Selection.PrintPreview
    Sheets("Afdrukken").Select
End Sub

(werkt blijkbaar beter zonder End If, of stonden ze hierboven op de verkeerde plaats?)
nu drukt hij dus wel iets af, maar enkel de laatste If die aan z'n voorwaarde voldoet.
Weet iemand hoe ik ervoor kan zorgen dat ALLE pagina's die aan de voorwaarde voldoen afgedrukt worden?

thx!
 
Probeer onderstaande eens
Code:
Private Sub PrintRegressie_Click()
    With Sheets("Regressie Expl 1")
        If .[B10] <> 0 Then .[A1:H23].PrintPreview
        If .[B33] <> 0 Then .[A24:H46].PrintPreview
        If .[B56] <> 0 Then .[A47:H69].PrintPreview
    End With
Sheets("Afdrukken").Select
End Sub

Mvg

Rudi
 
Laatst bewerkt:
Rudi,

hartelijk bedankt!!!

't is niet hoe ik het zag (mijn bedoeling was om alle pagina's in éénzelfde preview te hebben) maar op deze manier werkt het ook perfect
 
Als je If gebruikt moet je ook End If gebruiken.

Nee, dat klopt niet helemaal.
Je kunt het op 2 manieren doen.
Code:
If Range("A1").Value = "" Then
       Msgbox "Ok"
End If
... of ...
Code:
If Range("A1").Value = "" Then Msgbox "Ok"
De laatste methode is zoals de TS het gedaan heeft, dus zonder End If.

Met vriendelijke groet,


Roncancio
 
't is niet hoe ik het zag (mijn bedoeling was om alle pagina's in éénzelfde preview te hebben) maar op deze manier werkt het ook perfect
Sir Botex, Dit verzoek is met de (huidige) functionaliteiten niet mogelijk in Excel. Je kan verschillende bereiken nooit op 1 blad krijgen of je moet met VBA deze bereiken naar een tijdelijk blad copieren en die tonen.

Groet, Leo
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan