• 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 Pagina einde o.b.v. (andere) Cellwaarde.

Status
Niet open voor verdere reacties.

gjanus

Gebruiker
Lid geworden
21 nov 2008
Berichten
106
Hallo,

Ik zou graag een pagina einde (automatisch) willen laten instellen als de cellwaarde anders word.

Schets wat ik bedoel:

Kolom 1:
A
A
A
A
B
B
B
C


Ik zou dus graag willen zien dat VBA een paginaeinde maakt tussen A en B, Tussen B en C en Na C.

Kan iemand mij hier mee helpen?

(Edit) Liefst via losse macro die met bijvoorbeeld een knop gestart word.

alvast bedankt.
 
Doe er vooral een voorbeeldje bij met realistische data; ik kan mij niet voorstellen dat je dít voorbeeld als resultaat wilt. En leg dan ook nog eens uit wat je wilt, want Paginascheiding? Gaat het om afdrukbereiken dan?
 
Excuses voor mijn onduidelijkheid.


Voorbeeld: Een Vergadering en daaruit volgt een lange taken lijst.

Kolom 1 noteren wij personen,
Kolom 2 de taak.

Ik sorteer kolom 1 op betreffende persoon en zou inderdaad een printje willen per persoon (in voorbeeld A, B of C).


Dus pagina-einden na ieder persoon.



Zoals in voorbeeld (bijlage) Bekijk bijlage Pagina einden.xlsx zou uitkomst moeten zijn.
 
Zoiets?
 

Bijlagen

  • Eindemarkeringen.xlsb
    19,6 KB · Weergaven: 50
Hallo,

Ik heb nog een vraag of de code iets aanpasbaar is.
In het werkelijke bestand worden 12 kolommen gebruikt.

De print is liggend zodat deze 12 kolommen in de breedte op 1 pagina passen.

Echter doet deze code de Verticale en Horizontale page breaks resetten en daarna de horizontale opnieuw instellen.

Hoe laat ik de code de verticale page breaks negeren? Ofwel is het mogelijk alleen de Hpagebreags te resetten en opnieuw in te stellen zodat de print 12 kolommen breed blijft?

alvast bedankt.
 
Zoiets?
Code:
Private Sub CommandButton1_Click()
    Dim CellRange As Range
    Dim TestCell As Range
    Dim MySht As Worksheet
Set MySht = ThisWorkbook.Sheets("Blad1")
    MySht.Rows.PageBreak = xlNone
    On Error Resume Next
Set CellRange = MySht.UsedRange.Columns("A")
    For Each TestCell In CellRange.Cells
        If TestCell.Value <> TestCell.Offset(-1, 0).Value Then
            ActiveSheet.Rows(TestCell.Row).PageBreak = xlPageBreakManual
        End If
    Next TestCell
            ActiveSheet.PageSetup.Orientation = xlLandscape
            ActiveSheet.VPageBreaks.Add Before:=Range("M1")
End Sub
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan