
Tips.Net > WordTips Home > Tables > Editing Table Contents > Filling Table Cells with a Macro
Summary: Creating tabular data consists of two parts—creating the table and adding the data to the table. If you want to fill a table with data, there are a few macro approaches you can use to do the trick. (This tip works with Microsoft Word 97, Word 2000, Word 2002, and Word 2003.)
As you are working with tables in Word, you may want to fill the various cells in a table with a set value. For instance, you might want to copy something to the Clipboard, and then paste the contents of the Clipboard to each cell in a table. The following macro will do the trick:
Sub PasteToCells()
Dim TargetRange As Range
Dim oTargCell As Cell
If Selection.Cells.Count = 0 Then
'Quit if no cells in selection
MsgBox "No cells selected", vbCritical
Exit Sub
End If
On Error Resume Next
Set TargetRange = Selection.Range
For Each oTargCell In Selection.Cells
oTargCell.Range.Paste
Next oTargCell
TargetRange.Select
End Sub
The macro starts by checking to make sure that the selection includes some cells. If not, then the user is informed and the macro is ended. Then the selection is stored in a variable so that it can be selected (again) at the end of the macro. Without this code, the macro would leave the insertion point collapsed in the first cell of the original selection.
The real meat of the macro is in the For ... Next loop. It steps through the cells in the selection and replaces whatever is there with the contents of the Clipboard. Finally, the original selection is again selected, and the macro ends.
You probably noticed that there is an On Error statement in the macro, as well. This statement basically tells Word to ignore any errors and continue with the next statement. Errors that could be triggered include running the macro with nothing in the Clipboard, or trying to paste a table within a table cell. Word won't do either task, but it will continue trying until it is done with all the cells in the selection.
You should note that this macro replaces whatever is in the selected cells with the contents of the Clipboard; whatever was previously in the cells is lost. If you want to instead add information to the beginning of the cells, without disturbing the existing contents of the cell, you could use this slightly modified macro:
Sub PasteToCellsStart()
Dim TargetRange As Range
Dim oTargCell As Cell
Dim PasteRange As Range
If Selection.Cells.Count = 0 Then
'Quit if no cells in selection
MsgBox "No cells selected", vbCritical
Exit Sub
End If
On Error Resume Next
Set TargetRange = Selection.Range
For Each oTargCell In Selection.Cells
Set PasteRange = oTargCell.Range
PasteRange.Collapse wdCollapseStart
PasteRange.Paste
Next oTargCell
TargetRange.Select
End Sub
One last modification would be to come up with a macro that would paste to the end of what is in the cells. You might think that you could replace wdCollapseStart with wdCollapseEnd in the foregoing macro, but that doesn't work properly within tables. Instead, you must replace the For ... Next loop in the above macro. The following example shows a changed version of the macro.
Sub PasteToCellsEnd()
Dim TargetRange As Range
Dim oTargCell As Cell
Dim PasteRange As Range
If Selection.Cells.Count = 0 Then
'Quit if no cells in selection
MsgBox "No cells selected", vbCritical
Exit Sub
End If
On Error Resume Next
Set TargetRange = Selection.Range
For Each oTargCell In Selection.Cells
Set PasteRange = oTargCell.Range.Characters.Last
PasteRange.Collapse wdCollapseStart
PasteRange.Paste
Next oTargCell
TargetRange.Select
End Sub
Tip #1508 applies to Microsoft Word versions: 97 2000 2002 2003
More Power! For some people, the prospect of creating Word macros can be scary. WordTips: The Macros can help you conquer your fears and you'll discover you're much more confident and productive as you make Word do exactly what you want. This is an invaluable source for learning macros. You are introduced to the topic in bite-sized chunks, pulled from past issues of WordTips. Learn at your own pace, exactly the way you want.
Check out WordTips: The Macros today!
The real power behind Word's best documents lies in understanding styles and templates. Learn the key to more powerful document creation. (more information...)
Ask a Word Question
Make a Comment
Beauty Tips
Bugs and Pests Tips
Car Tips
Cleaning Tips
College Tips
Cooking Tips
Excel2007 Tips
ExcelTips
Family Tips
Gardening Tips
Health Tips
Home Tips
Money Tips
Organizing Tips
Pet Tips
Word2007 Tips
WordTips