Select specific cells in table via macro

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

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?
 
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.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Back
Top