Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.word.tables
|
|||
|
|||
![]()
I have a document that has one table containing markups. I need to copy the
cell contents (including markups) into another table. How do I do it? The methods for copying markups in non-table text do not seem to work. Any help is appreciated. |
#2
![]()
Posted to microsoft.public.word.tables
|
|||
|
|||
![]()
Hi Chilly,
Nothing built-in allows you to copy and paste table cells including their formatting, AFAIK. You can try the macros below. "CopyTableCells" just puts a bookmark "oldCells" on selected cells. "PasteTableCells" then pastes the cells from that bookmark into the selected cells, and formats them. The macro isn't exceedingly clever, and doesn't try to catch errors (say if you aren't in a table when running them, or when you selected more or less cells when pasting than when "copying".) If you haven't used macros before, see http://www.word.mvps.org/FAQs/Macros...eateAMacro.htm Regards, Klaus Sub CopyTableCells() ActiveDocument.Bookmarks.Add _ Range:=Selection.Range, _ Name:="oldCells" End Sub Sub PasteTableCells() Dim myCell As Cell Dim oldCell As Cell Dim myShading As Shading Dim i As Long ActiveDocument.Bookmarks.Add _ Range:=Selection.Range, _ Name:="newCells" ' Copy/paste over the contents ActiveDocument.Bookmarks("oldCells").Select Selection.Copy ActiveDocument.Bookmarks("newCells").Select Selection.Paste ' Format the cells like those in bookmark "oldCells": With ActiveDocument.Bookmarks("oldCells").Range.Cells For i = 1 To Selection.Cells.Count ActiveDocument.Bookmarks("oldCells").Select If Selection.Cells.Count = i Then Set oldCell = Selection.Cells(i) Else Set oldCell = Selection.Cells(1) End If ActiveDocument.Bookmarks("newCells").Select Set myCell = Selection.Cells(i) With myCell With .Shading .BackgroundPatternColorIndex = _ oldCell.Shading.BackgroundPatternColorIndex .BackgroundPatternColor = _ oldCell.Shading.BackgroundPatternColor .ForegroundPatternColorIndex = _ oldCell.Shading.ForegroundPatternColorIndex .ForegroundPatternColor = _ oldCell.Shading.ForegroundPatternColor .Texture = oldCell.Shading.Texture End With .Borders = oldCell.Borders .LeftPadding = oldCell.LeftPadding .RightPadding = oldCell.RightPadding .TopPadding = oldCell.TopPadding .BottomPadding = oldCell.BottomPadding .HeightRule = oldCell.HeightRule If oldCell.Height wdUndefined Then .Height = oldCell.Height End If .Column.PreferredWidthType = _ oldCell.PreferredWidthType .Column.PreferredWidth = _ oldCell.PreferredWidth .Column.Width = oldCell.Width End With Next i End With ActiveDocument.Bookmarks("newCells").Select End Sub "Chilly" wrote: I have a document that has one table containing markups. I need to copy the cell contents (including markups) into another table. How do I do it? The methods for copying markups in non-table text do not seem to work. Any help is appreciated. |
#3
![]()
Posted to microsoft.public.word.tables
|
|||
|
|||
![]()
Thanks. I'll give it a try.
"Klaus Linke" wrote: Hi Chilly, Nothing built-in allows you to copy and paste table cells including their formatting, AFAIK. You can try the macros below. "CopyTableCells" just puts a bookmark "oldCells" on selected cells. "PasteTableCells" then pastes the cells from that bookmark into the selected cells, and formats them. The macro isn't exceedingly clever, and doesn't try to catch errors (say if you aren't in a table when running them, or when you selected more or less cells when pasting than when "copying".) If you haven't used macros before, see http://www.word.mvps.org/FAQs/Macros...eateAMacro.htm Regards, Klaus Sub CopyTableCells() ActiveDocument.Bookmarks.Add _ Range:=Selection.Range, _ Name:="oldCells" End Sub Sub PasteTableCells() Dim myCell As Cell Dim oldCell As Cell Dim myShading As Shading Dim i As Long ActiveDocument.Bookmarks.Add _ Range:=Selection.Range, _ Name:="newCells" ' Copy/paste over the contents ActiveDocument.Bookmarks("oldCells").Select Selection.Copy ActiveDocument.Bookmarks("newCells").Select Selection.Paste ' Format the cells like those in bookmark "oldCells": With ActiveDocument.Bookmarks("oldCells").Range.Cells For i = 1 To Selection.Cells.Count ActiveDocument.Bookmarks("oldCells").Select If Selection.Cells.Count = i Then Set oldCell = Selection.Cells(i) Else Set oldCell = Selection.Cells(1) End If ActiveDocument.Bookmarks("newCells").Select Set myCell = Selection.Cells(i) With myCell With .Shading .BackgroundPatternColorIndex = _ oldCell.Shading.BackgroundPatternColorIndex .BackgroundPatternColor = _ oldCell.Shading.BackgroundPatternColor .ForegroundPatternColorIndex = _ oldCell.Shading.ForegroundPatternColorIndex .ForegroundPatternColor = _ oldCell.Shading.ForegroundPatternColor .Texture = oldCell.Shading.Texture End With .Borders = oldCell.Borders .LeftPadding = oldCell.LeftPadding .RightPadding = oldCell.RightPadding .TopPadding = oldCell.TopPadding .BottomPadding = oldCell.BottomPadding .HeightRule = oldCell.HeightRule If oldCell.Height wdUndefined Then .Height = oldCell.Height End If .Column.PreferredWidthType = _ oldCell.PreferredWidthType .Column.PreferredWidth = _ oldCell.PreferredWidth .Column.Width = oldCell.Width End With Next i End With ActiveDocument.Bookmarks("newCells").Select End Sub "Chilly" wrote: I have a document that has one table containing markups. I need to copy the cell contents (including markups) into another table. How do I do it? The methods for copying markups in non-table text do not seem to work. Any help is appreciated. |
#4
![]() |
|||
|
|||
![]()
Looks like I'm a bit late to this party, but AFAIK, this is still a problem in Word (I've only tried up to Word 2007).
I have not tried the macros mentioned in an earlier reply, but I did manage with a different workaround. 1. Convert the table to text 2. Copy-paste with markups 3. Convert text to table There are two problems with this method: a. The new table is unformatted, so the formatting has to be reapplied b. Tabs and paragraph marks that are part of the changed test will be ignored, which will wreck the table structure. These need to be replaced with "clean" tabs and paragraph marks before reconverting to a table. It's a messy business, but it does work. Has anyone tried the macros? How well do they work? |
Reply |
Thread Tools | |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
table column size changes when copying and pasting | Tables | |||
Table headers/footers and layout | Page Layout | |||
How to Avoid Word 2003 Table Style Problems | Tables | |||
Table AutoFormats vs. Table Styles confusion | Tables | |||
Copying a Table Into a Table | Microsoft Word Help |