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

rijen niet afdrukken bij bepaalde waarde

Status
Niet open voor verdere reacties.

vjdb

Gebruiker
Lid geworden
19 okt 2006
Berichten
27
Mijn vraag is de volgende:
Is het mogelijk om rijen waar een bepaalde waarde in voorkomt bijv. "0" niet af te drukken. Het gevolg is dan dus dat alleen de rijen waar daadwerkelijk de info in staat afgedrukt worden? Ik heb al een knop ingevoegd waardoor het formuleir geprint wordt. Zie bijlage!
 

Bijlagen

  • helpmij-rapide.rar
    9 KB · Weergaven: 54
Hier issie dan!
 

Bijlagen

  • helpmij-rapide.rar
    13,1 KB · Weergaven: 73
Hoi vjdb,

Hier dan ;)

Code:
Private Sub CommandButton1_Click()
    Application.ScreenUpdating = False
    Dim r As Range
    For Each r In Range("B12:B57") [COLOR="Green"]' Dit is de range waar de nullen kunnen staan[/COLOR]
        If r.Value = "0" Then
            r.EntireRow.Hidden = True [COLOR="green"]' Verstoppen van de rij[/COLOR]
        Else
            r.EntireRow.Hidden = False [COLOR="green"]' Zichtbaar maken van de rij[/COLOR]
        End If
    Next

    Rows("1:64").Select [COLOR="green"]' Het gedeelte dat geprint moet worden selecteren[/COLOR]
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True

    Cells.EntireRow.Hidden = False ' Alle rijen weer zichtbaar maken
    Application.ScreenUpdating = True
    Range("F64").Select [COLOR="Green"]' De cell onder de knop selecteren (gewoon voor het oog)[/COLOR]End Sub
 
Arno

Ik denk dat een autofilter hier het beste zou geweest zijn, maar een loop kan ook is simpeler qua code.


0 is hier geen string, dus gewoon

Code:
If r.Value = [B]0[/B] Then
            r.EntireRow.Hidden = True ' Verstoppen van de rij
        Else
            r.EntireRow.Hidden = False ' Zichtbaar maken van de rij
End If

Nu we toch bezig zijn :D:

Code:
r.EntireRow.Hidden = (r.Value = [B]0[/B])

ipv bovenstaande code. Nog korter:

Code:
r.EntireRow.Hidden = (r = [B]0[/B])

Wigi
 
Laatst bewerkt:
Jongens jullie zijn geweldig, dit is precies wat ik zoek. Het moiste is nog dat ik ondanks mijn zeer geringe kennis van VBA het toch nog een beetje begrijp dankzij de uitleg erbij. Grote Klasse!:thumb:
 
Jongens jullie zijn geweldig, dit is precies wat ik zoek. Het moiste is nog dat ik ondanks mijn zeer geringe kennis van VBA het toch nog een beetje begrijp dankzij de uitleg erbij. Grote Klasse!:thumb:

Ik heb nog wel een vraagje: is het ook mogelijk om bepaalde rijen (bijv. de rij met "totaal machines") wel af te drukken? Ik heb dit nu als volgt opgelost:
Code:
Private Sub CommandButton1_Click()
    Application.ScreenUpdating = False
    Dim r As Range
    For Each r In Range("B12:B28") ' Dit is de range waar de nullen kunnen staan
        If r.Value = "0" Then
            r.EntireRow.Hidden = True ' Verstoppen van de rij
        Else
            r.EntireRow.Hidden = False ' Zichtbaar maken van de rij
        End If
    Next
    For Each r In Range("B31:B57") ' Dit is de range waar de nullen kunnen staan
        If r.Value = "0" Then
            r.EntireRow.Hidden = True ' Verstoppen van de rij
        Else
            r.EntireRow.Hidden = False ' Zichtbaar maken van de rij
        End If
    Next
    Rows("1:64").Select ' Het gedeelte dat geprint moet worden selecteren
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True

    Cells.EntireRow.Hidden = False ' Alle rijen weer zichtbaar maken
    Application.ScreenUpdating = True
    Range("F64").Select ' De cell onder de knop selecteren (gewoon voor het oog)
    End Sub

Maar wellicht wordt de code heirdoor langzaam?
 
Code:
Private Sub CommandButton1_Click()
    Application.ScreenUpdating = False
    Dim r As Range
    For Each r In Range("B12:B28,B31:B57") ' Dit is de range waar de nullen kunnen staan
        r.EntireRow.Hidden = (r.Value = 0)
    Next
    Rows("1:64").Select ' Het gedeelte dat geprint moet worden selecteren
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True

    Cells.EntireRow.Hidden = False ' Alle rijen weer zichtbaar maken
    Application.ScreenUpdating = True
    Range("F64").Select ' De cell onder de knop selecteren (gewoon voor het oog)
    End Sub

Wigi
 
Er komt nog een vraagje bij: De formule werkt niet wanneer ik het blad beveilig, is dit nog te ondervangen?
 
Als je bij beveiliging toelaat dat rijen verborgen worden?

Ik heb de optie "rijen opmaken" aangevinkt. Het gevolg is dat het formuliertje nu weer perfect werkt nogmaals bednakt! :thumb:
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan