Home |
Search |
Today's Posts |
#1
|
|||
|
|||
Select specific cells in table via macro
I have a table in Word XP that was created by Pasting Special (HTML) from an
Excel spreadsheet. The first and second rows of the table span the entire width of the table (merged cells). The remaining rows have cells of varying widths in many of the rows (not always the same widths down through the table). I have created a macro that will do various reformatting (such as shrinking the width, specifying the border for the table, things that can be done while in the Table Properties dialog box). Shrinking the width, however, causes some columns to be sized improperly in some rows depending upon the values in those cells. What VB code can I use to select the cells in rows 3 and 4 of column 1 and then shrink the column width (which simultaneously expands the width of column 2 of the same rows)? I have tried to record a macro, but recording a macro does not seem to work when working directly on a table. Alternatively, how can I record a macro while working within a table? |
#2
|
|||
|
|||
You appear to be asking two questions. is your objective to select cells or
to set their widths? In VBA code, these are different tasks: you can work with all parts of a document by manipulating various Range objects; you don't need to select them to do that. More to the point, perhaps, is that you are unlikely to be able to record a macro for the purpose. Recording is a seriously lousy way to create macros: it just doesn't work for anything much beyond repetitive keystroking. The key problem in this case is that if the table has merged and split cells, you won'tr necessarily be able to work with (or select) its column at all. You can iterate the cells of the table using code like -- Dim pCell as Word.cell Set pCell = MyTable.cells(1,1) Do ..... pCell.Width = xxx 'Or whatever you want to do set pCell = pCell.Next Loop until pCell is nothing You can check where the cell is located in the table by looking at its RowIndex and ColumnIndex properties. "Bill Sturdevant" wrote in message ... I have a table in Word XP that was created by Pasting Special (HTML) from an Excel spreadsheet. The first and second rows of the table span the entire width of the table (merged cells). The remaining rows have cells of varying widths in many of the rows (not always the same widths down through the table). I have created a macro that will do various reformatting (such as shrinking the width, specifying the border for the table, things that can be done while in the Table Properties dialog box). Shrinking the width, however, causes some columns to be sized improperly in some rows depending upon the values in those cells. What VB code can I use to select the cells in rows 3 and 4 of column 1 and then shrink the column width (which simultaneously expands the width of column 2 of the same rows)? I have tried to record a macro, but recording a macro does not seem to work when working directly on a table. Alternatively, how can I record a macro while working within a table? |
Reply |
Thread Tools | |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Table in a Form | Tables | |||
Table AutoFormats vs. Table Styles confusion | Tables | |||
Select Table dialog box comes up twice when open data source | Mailmerge | |||
How do I select specific information from an imported table | Tables | |||
Word 2003 Table AutoFormat vs Macro vs VBA | Tables |