?
Solved

How to add page break as query grows or shrinks (#2)

Posted on 2014-01-23
2
Medium Priority
?
186 Views
Last Modified: 2014-02-10
I am using this macro:

Sub InsertHorizontalPageBreaks()
    Dim RowNbr As Long, ws As Worksheet
   
    Set ws = ActiveSheet
    ws.ResetAllPageBreaks
   
    For RowNbr = 1 To ws.UsedRange.Rows.Count
        If Left(ws.Cells(RowNbr, 1), 5) = "Race:" Then
            ws.Rows(RowNbr).PageBreak = xlPageBreakManual
        End If
    Next RowNbr
End Sub

It works 90% of the way. Say I have racers for race 1 on rows 2-5. On row 6, i have the next race # title. Then on row 7-10 in have racers for race 2. If I add racers to race 1, the page break stays above row 6, it does't move down to row 7. So that means all but one racer will be on one page, the last racer is going onto the top of the page with race 2, then below are the racers for race 2. How do i make it so the page brake follows right above the race #, as i add/delete racers?
0
Comment
Question by:brasiman
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
2 Comments
 
LVL 52

Accepted Solution

by:
Rgonzo1971 earned 2000 total points
ID: 39805720
Hi,

why not

Cleaning the other pagebreak at same time yout the new ones?

Sub InsertHorizontalPageBreaks()
    Dim RowNbr As Long, ws As Worksheet
    
    Set ws = ActiveSheet
    ws.ResetAllPageBreaks
    
    For RowNbr = 1 To ws.UsedRange.Rows.Count
        If Left(ws.Cells(RowNbr, 1), 5) = "Race:" Then
            ws.Rows(RowNbr).PageBreak = xlPageBreakManual
        Else
            ws.Rows(RowNbr).PageBreak = xlPageBreakNone
        End If
    Next RowNbr
End Sub

Open in new window

Regards
0
 

Author Comment

by:brasiman
ID: 39825521
Two questions:
1. I ran this and it worked, but i discovered when i have things added/deleted from my data, making the number of rows on the query go up and down, the page break isn't following my data up and down. Every time i refresh the query, do i have to run the marco? If so thats a pain!
2. I saved my spreadsheet, then when i went back into the macro, i got an error:
"Run-time error '1004': Unable to set the PageBreak property of the Range class.

I copied your macro exactly as is.

Any ideas on these two items?
0

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

When you see single cell contains number and text, and you have to get any date out of it seems like cracking our heads.
In Part II of this series, I will discuss how to identify all open instances of Excel and enumerate the workbooks, spreadsheets, and named ranges within each of those instances.
Excel styles will make formatting consistent and let you apply and change formatting faster. In this tutorial, you'll learn how to use Excel's built-in styles, how to modify styles, and how to create your own. You'll also learn how to use your custo…
Many functions in Excel can make decisions. The most simple of these is the IF function: it returns a value depending on whether a condition you describe is true or false. Once you get the hang of using the IF function, you will find it easier to us…

800 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question