Apologies; I expressed myself incorrectly. I am not referring to paragraph
breaks (??) in table cell, but to the actual cell marker (??).
in a 100-page document riddled with tables).
The ^10 suggested by DeanH does not do it either. I have tried a number of
permutations, and frankly, some weird things happen.
Post by DeanHJohann.
It was Macropod that suggested the ^10, and as you say this does not work
this [space]^10. I am still hoping for a solution.
What can work though if you are purely wanting to get rid of the superfluous
space before the cell end marker is to use the "old" trick of selecting the
text, align centre then align left (or left then centre). This will remove
all superfluous spaces, tabs, etc. at the end of paragraphs selected.
This works well, but obviously enusre that you select the text only not the
whole table, else the table itself will be aligned. I tend to select by
column, say columns 1 and 2 out of a 3-column table, do the trick, the n
select column 3 on its own, do the trick.
Not the best but does work well.
Lets see if anyone else can help with the Replace on [space] Cell End Marker.
Hope this helps
DeanH
Post by Graham MayorThe following macro will clear trailing spaces from all the cells in the
table containing the cursor
Dim oRng As Range
With Selection.Tables(1)
For i = 1 To .Rows.Count
For j = 1 To .Columns.Count
Set oRng = .Cell(i, j).Range
oRng.End = oRng.End - 1
oRng.Text = RTrim(oRng.Text)
Next j
Next i
End With
If you want to clear leading and trailing spaces change RTrim for Trim
Note that if you select the table and Click CTRL+E then CTRL+L all leading
and trailing white space will be cleared from the table.
--
<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
Graham Mayor - Word MVP
My web site www.gmayor.com
Word MVP web site http://word.mvps.org
<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
Post by Graham MayorTo process all the tables change that to
Dim oRng As Range
Dim oTable As Table
For Each oTable In ActiveDocument.Tables
With oTable
For i = 1 To .Rows.Count
For j = 1 To .Columns.Count
Set oRng = .Cell(i, j).Range
oRng.End = oRng.End - 1
oRng.Text = RTrim(oRng.Text)
Next j
Next i
End With
Next oTable
--
<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
Graham Mayor - Word MVP
My web site www.gmayor.com
Word MVP web site http://word.mvps.org
<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
Post by Pamelia Caswell via OfficeKB.comI just tried searching for " face^10", "face ^10", and " ^10" in W2009. All
work with wild cards enabled. It selects only up to the end of cell
marker???probably because the marker cannot be manipulated. It also replaces
only up to the end of cell marker.
Thanks, Paul.
Pam
--
Message posted via OfficeKB.com
http://www.officekb.com/Uwe/Forums.aspx/word-tables/201001/1
Post by Pamelia Caswell via OfficeKB.comIt also works with " {1,}^10. I too have had to delete trailing spaces from
dozens of tables and hundreds of cells???by hand. So this could be a big help.
Pam
--
Message posted via OfficeKB.com
http://www.officekb.com/Uwe/Forums.aspx/word-tables/201001/1
Post by DeanHHi Pamela.
Unfortuantely, this still does not work, it finds any space in the table,
not just a space next to the Cell End Marker, which is what is required. Oh
well never mind.
Thanks anyway.
DeanH
Post by DeanHHello Graham.
Many thanks for these two macros.
Set oRng = .Cell(I, j).Range
Any ideas?
DeanH
Post by Graham MayorThe thing that occurs is that you may have merged cells in your table. The
macros will not work with merged or split cells.
--
<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
Graham Mayor - Word MVP
My web site www.gmayor.com
Word MVP web site http://word.mvps.org
<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
Post by DeanHGraham, yep that was it, two cells in the header row were merged in the test
table.
Many thanks
DeanH
Post by Doug Robbins - Word MVPNote that you can step through all of the cells of a table that contains
merged cells by using
Dim acell As Cell
For Each acell In ActiveDocument.Tables(1).Range.Cells
'Do something with each cell
Next acell
--
Hope this helps.
Please reply to the newsgroup unless you wish to avail yourself of my
services on a paid consulting basis.
Doug Robbins - Word MVP, originally posted via msnews.microsoft.com
Post by Graham MayorGood thinking - that would equate to
Dim oRng As Range
Dim oTable As Table
Dim acell As Cell
For Each oTable In ActiveDocument.Tables
With oTable
For Each acell In oTable.Range.Cells
Set oRng = acell.Range
oRng.End = oRng.End - 1
oRng.Text = RTrim(oRng.Text)
Next acell
End With
Next oTable
--
<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
Graham Mayor - Word MVP
My web site www.gmayor.com
Word MVP web site http://word.mvps.org
<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
Post by Johann SwartSo then, it would appear as though there is no "one size fits all" solution.
Many thanks to all contributors!
Post by Doug Robbins - Word MVPI believe that the code posted by Graham will work for all of the "sizes"
mentioned. What other "sizes" were you thinking about.
--
Hope this helps.
Please reply to the newsgroup unless you wish to avail yourself of my
services on a paid consulting basis.
Doug Robbins - Word MVP, originally posted via msnews.microsoft.com
Post by macropodW2009?
--
Cheers
macropod
[Microsoft MVP - Word]
2007. Fingers slipped. And I am very disappointed that ^10 does not work in
W2007.
Pam
--
Message posted via http://www.officekb.com
Post by Johann SwartGraham Mayor posted a macro that clears tables of leading and trailing spaces.
Before I could put it to the test, DeanH wrote that he experienced failure
of this macro, which was then attributed to merged cells.
Doug Robbins then posted a macro to find merged cells, and then to manually
do whatever is required.
Both macros are certainly valuable and will help me a great deal; many
thanks Graham.
As my tables are riddled with merged cells, it will still require a
significant degree of "manual labour" to take care of merged cells
separately; hence my "one size..." (read "one macro") comment.
Again, sincere thanks. It certainly beats inspecting thousands of cells one
by one.
Post by DeanHHi Johann. The revised macro with the "acell" works very well with merged
cells.
I have tested this with some very complex tables and no problems have been
noticed.
Graham - many thanks.
DeanH
Post by Johann SwartSuddenly the lights went on! Thanks Dean.
Post by David TurnerMight be best to first check whether there is actually a space before the
end of cell marker to avoid unnecessary trimming.
Sub RemSpaceBeforeCellMarker()
Dim oRng As Range
Dim oTable As Table
Dim acell As Cell
For Each oTable In ActiveDocument.Tables
With oTable
For Each acell In oTable.Range.Cells
Set oRng = acell.Range
oRng.End = oRng.End - 1
If Right(oRng.Text, 1) = " " Then
oRng.Text = RTrim(oRng.Text)
End If
Next acell
End With
Next oTable
End Sub
Post by Graham MayorIf there is no space nothing is trimmed, so the extra test would appear
superfluous?
--
<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
Graham Mayor - Word MVP
My web site www.gmayor.com
Word MVP web site http://word.mvps.org
<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
Submitted via EggHeadCafe
Excel Generate High Quality RoadMaps
http://www.eggheadcafe.com/tutorials/aspnet/3310004f-e1ae-45a7-9bea-7b2b970d1230/excel-generate-high-quality-roadmaps.aspx