search for empty cells in word tables

A

adgorn

I have a document with many tables, including nested tables. I need to be
able to find all the cells that are empty since we may need to put a value in
there. It would be great to be able to go from empty cell to empty cell one
at a time. Any thoughts? Thanks.
 
M

macropod

Hi Alan,

Here's some code to do the testing:

Sub TableTest()
Dim oTbl As Table
Dim oCel As Cell
With ActiveDocument.Range
For Each oTbl In .Tables
For Each oCel In oTbl.Range.Cells
If oCel.Range.Text = vbCr & Chr(7) Then MsgBox "Cell " & _
oCel.ColumnIndex & "," & oCel.RowIndex & " is empty."
Next
Next
End With
End Sub

Cheers
 
A

adgorn

That seems to be identifying the cells. What I really need is to have the
cursor jump from empty cell to the next empty cell rather than a message.
Possible?
--
Alan


macropod said:
Hi Alan,

Here's some code to do the testing:

Sub TableTest()
Dim oTbl As Table
Dim oCel As Cell
With ActiveDocument.Range
For Each oTbl In .Tables
For Each oCel In oTbl.Range.Cells
If oCel.Range.Text = vbCr & Chr(7) Then MsgBox "Cell " & _
oCel.ColumnIndex & "," & oCel.RowIndex & " is empty."
Next
Next
End With
End Sub

Cheers
--
macropod
[MVP - Microsoft Word]
-------------------------

adgorn said:
I have a document with many tables, including nested tables. I need to be
able to find all the cells that are empty since we may need to put a value in
there. It would be great to be able to go from empty cell to empty cell one
at a time. Any thoughts? Thanks.
 
M

macropod

Hi Alan,

Your first email said you needed to find the cell so that you could put something there. The code I posted identifies the cell, but
you didn't say what value you want to put there.

If you want to put something into a cell programmatically, you don't have to 'go' there - all you need is to replace the message box
code with whatever action you want to perform. For example:
If oCel.Range.Text = vbCr & Chr(7) Then oCel.Range.Text ="Hello World"
or
If oCel.Range.Text = vbCr & Chr(7) Then oCel.Range.Text = InputBox("Type your text")

If you actually need to select the cell so that you can do something with it manually, that can be done, but it means terminating
the code at that point:
If oCel.Range.Text = vbCr & Chr(7) Then
oCel.Select
Exit Sub
End I

Cheers
--
macropod
[MVP - Microsoft Word]
-------------------------

adgorn said:
That seems to be identifying the cells. What I really need is to have the
cursor jump from empty cell to the next empty cell rather than a message.
Possible?
--
Alan


macropod said:
Hi Alan,

Here's some code to do the testing:

Sub TableTest()
Dim oTbl As Table
Dim oCel As Cell
With ActiveDocument.Range
For Each oTbl In .Tables
For Each oCel In oTbl.Range.Cells
If oCel.Range.Text = vbCr & Chr(7) Then MsgBox "Cell " & _
oCel.ColumnIndex & "," & oCel.RowIndex & " is empty."
Next
Next
End With
End Sub

Cheers
--
macropod
[MVP - Microsoft Word]
-------------------------

adgorn said:
I have a document with many tables, including nested tables. I need to be
able to find all the cells that are empty since we may need to put a value in
there. It would be great to be able to go from empty cell to empty cell one
at a time. Any thoughts? Thanks.
 

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

Top