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

Pagina einde

Status
Niet open voor verdere reacties.

ronaldvm1964

Gebruiker
Lid geworden
21 jul 2008
Berichten
189
Ik heb een macro nodig die een pagina einde zet na een subtotaal. Ik heb er wel één voor een subtotaal maar ik kom er even uit wat ik moet veranderen om te zorgen dat de pagina einde onder het subtotaal komt te staan.

Sub Break()
With Sheets("maand").Cells
On Error Resume Next
Set c = (.Find(What:="totaal", After:=[A3], LookIn:=xlValues, _
LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext))
If Not c Is Nothing Then
firstaddress = c.Address
Do
ActiveSheet.HPageBreaks.Add Before:=c
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstaddress
End If
End With
End Sub
 

Bijlagen

Laatst bewerkt:
Dit lijkt me voldoende:

Code:
Sub tst()
  Sheets("maand").HPageBreaks.Add Sheets("maand").usedrange.Find("totaal", [A3],xlvalues,xlWhole).Offset(1)
End Sub
 
Krijg een foutmelding, heb een voorbeeld bestand bijgevoegd, misschien dat het dan duidelijker wordt



Dit lijkt me voldoende:

Code:
Sub tst()
  Sheets("maand").HPageBreaks.Add Sheets("maand").usedrange.Find("totaal", [A3],xlvalues,xlWhole).Offset(1)
End Sub
 
Code:
Sub tst()
  Sheets("maand").HPageBreaks.Add Sheets("maand").usedrange.Find("totaal", [A3],xlvalues).Offset(1)
End Sub
 
Dit werk perffekt, dank je wel, alleen gedt dit voor 1 totaal
Nu alleen een pagina einde na elke totaal in hetzelfde werkblad.


Code:
Sub tst()
  Sheets("maand").HPageBreaks.Add Sheets("maand").usedrange.Find("totaal", [A3],xlvalues).Offset(1)
End Sub
 
2 alternatieven:

Code:
Sub tst()
  jj = 1
  With Sheets(1)
    For j = 1 To WorksheetFunction.CountIf(.Columns(1), "totaal")
      With .Columns(1).Find("totaal*", .Cells(jj, 1), xlValue)
        .HPageBreaks.Add .Offset(1)
        jj = .Offset(1).Row
      End With
    Next
  End With
End Sub

Code:
Sub tst2()
  With Sheets(1).UsedRange.Columns(1)
    .AutoFilter 1, "totaal"
    For Each cl In .SpecialCells(xlCellTypeVisible)
      Sheets(1).HPageBreaks.Add cl.Offset(1)
    Next
    .AutoFilter
  End With
End Sub
 
Laatst bewerkt:
Ik ga dit morgen gelijk testen als ik op mijn werk ben, laat nog weten of het werkt.
Iedergeval heel erg bedankt alvast voor het meedenken

Ik heb de 2 versie's getest en versie 2 (tst2) werkt perfekt
Heel erg bedankt voor de oplossing.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan