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

Page break instellen

Status
Niet open voor verdere reacties.

Sanski

Gebruiker
Lid geworden
28 feb 2011
Berichten
30
Hey,

met volgende formule stel ik een pagebreak in,
dit na 45rijen. Zonder mijn verborgen cellen mee te tellen

Dit gaat al mooi, maar nu komt een bijkomende aspect,
in rij P heb ik ofwel in elke cell waarde 1 of 0
een pagebreak mag alleen doorgevoerd op op een waarde nul
maar wel rekening houdend met die 45rijen

dus als op rij 45 waarde 1 staat en op rij 43 waarde 0,
dan zal de pagebreak op rij 43 moeten gebeuren

nu is mijn vraag hoe ik dit aanpak
ben beetje de wanhoop nabij..


Code:
Sub testme()
    Dim iRow As Long
    Dim myCell As Range
    Dim myRng As Range
    Dim wks As Worksheet
    
    Dim i As Long

    Set wks = Worksheets("sheet 1")
    With wks
            .ResetAllPageBreaks
        Set myRng = Nothing
            On Error Resume Next
            Set myRng = .Range("p1", .Cells(.Rows.Count, "P").End(xlUp)) _
            .Cells.SpecialCells(xlCellTypeVisible)
            On Error GoTo 0
    
    
            iRow = 0
            For Each myCell In myRng.Cells
            iRow = iRow + 1
            If iRow > 1 Then
                If iRow Mod 45 = 1 Then
                   .HPageBreaks.Add before:=myCell
                End If
            End If
            
            Next myCell
    End With

End Sub

Mvg,
Sanski
 
als je bijhoudt wanneer je de laatste keer een cell met '0' hebt gehad:
Code:
Sub testme()
    Dim iRow As Long
    Dim myCell As Range
    Dim myRng As Range
    Dim wks As Worksheet
    
    Dim i As Long
    Dim lastGoodCell As Range

    Set wks = Worksheets("sheet 1")
    With wks
            .ResetAllPageBreaks
        Set myRng = Nothing
            On Error Resume Next
            Set myRng = .Range("p1", .Cells(.Rows.Count, "P").End(xlUp)) _
            .Cells.SpecialCells(xlCellTypeVisible)
            On Error GoTo 0
    
    
            iRow = 0
            For Each myCell In myRng.Cells
            iRow = iRow + 1
            If iRow > 1 Then
                If myCell.Value = "0" Then
                    Set lastGoodCell = myCell
                End If
                
                If iRow Mod 45 = 1 Then
                   .HPageBreaks.Add before:=lastGoodCell
                End If
            End If
            
            Next myCell
    End With
End Sub
 
Ideaal werkt gewoon perfect :)
hiervoor kan ik je niet genoeg bedanken,
maar toch bedankt
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan