#1
|
|||
|
|||
Keeping Table on One Page
I'm wanted to keep each table on one page. I'm missing something here. Can someone give me some help?
Code:
Sub KeepRowsTogether() Dim tbl As Table Dim nPara As Long, i As Long For Each tbl In ActiveDocument.Tables nPara = tbl.Range.Paragraphs.Count For i = 1 To (nPara - 1) tbl.Range.Paragraphs(i).KeepWithNext Next i Next tbl End Sub |
#2
|
||||
|
||||
Hi SCMiller,
You need: KeepWithNext = True. However, the code could be greatly simplified: Code:
Sub KeepRowsTogether() Dim oTbl As Table For Each oTbl In ActiveDocument.Tables oTbl.Range.Paragraphs.KeepWithNext = True Next oTbl End Sub Code:
Sub KeepRowsTogether() Dim oTbl As Table, oCel As Cell For Each oTbl In ActiveDocument.Tables oTbl.Range.Paragraphs.KeepWithNext = True For Each oCel In oTbl.Rows.Last.Range.Cells oCel.Range.Paragraphs.Last.KeepWithNext = False Next oCel Next oTbl End Sub
__________________
Cheers, Paul Edstein [Fmr MS MVP - Word] |
#3
|
|||
|
|||
Thanks! I greatly appreciate your help!
|
#4
|
|||
|
|||
Vertically merged cells cause runtime error
Hello,
I have been trying to run this code however come across the following error: Runtime error 5991: Cannot access the individual rows of this collection because the table has vertically merged cells. Is there a way to make it work with tables with merged cells, or if not to do something like 'if table has merged cells then skip the formatting of this table'? For clarity, this is the code I am running: Code:
Sub ApplyTableAttribute() ' ' ApplyTableAttribute Macro ' ' Dim oTbl As Table, oCel As Cell ' for each table in the active document For Each oTbl In ActiveDocument.Tables 'set paragraphs to keep with next oTbl.Range.Paragraphs.KeepWithNext = True ' for each cell in the last row of the table For Each oCel In oTbl.Rows.Last.Range.Cells ' 'set the last paragraph to not keep with next oCel.Range.Paragraphs.Last.KeepWithNext = False Next oCel Next oTbl End Sub Andy |
#5
|
||||
|
||||
Try:
Code:
Sub KeepRowsTogether() Dim oTbl As Table, oCel As Cell For Each oTbl In ActiveDocument.Tables With oTbl .Range.Paragraphs.KeepWithNext = True If .Uniform = True Then For Each oCel In .Rows.Last.Range.Cells oCel.Range.Paragraphs.Last.KeepWithNext = False Next oCel Else Set oCel = .Range.Cells(.Range.Cells.Count) Do While oCel.ColumnIndex > 1 oCel.Range.Paragraphs.Last.KeepWithNext = False Set oCel = oCel.Previous Loop oCel.Range.Paragraphs.Last.KeepWithNext = False End If End With Next oTbl End Sub
__________________
Cheers, Paul Edstein [Fmr MS MVP - Word] |
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Page Numbers in Table of Contents | MerRob54 | Word | 6 | 01-28-2013 03:37 AM |
Table Jumps to Next Page | donthaveaclue | Word Tables | 3 | 02-25-2011 07:54 AM |
table spanning full page | datto210 | Word Tables | 1 | 10-25-2010 12:39 PM |
Table rows moving to new page when you don't want them to | graham | Word Tables | 1 | 11-16-2009 08:51 AM |
Automatically recreate table on next page | oneononemedia | Word Tables | 0 | 08-16-2009 08:24 PM |