![]() |
|
#1
|
|||
|
|||
|
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
|
|||
|
|||
|
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] |
|
| Thread Tools | |
| Display Modes | |
|
|
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 |