Apply a macro to a specified Cell

A

abelp1975

Dear PEOPLE:

I need to apply a macro to a specified Cell in my table.
My table is 2x2 and I want that macro applied to that cell ONLY.
My cell is located at Cell(2,1) [row, column].

Can any one help me?

Thank you.
Abel.
 
G

Greg

Dear Abel,

An example:

Sub Test()
Dim oTable As Table
Set oTable = ActiveDocument.Tables(1) 'first table in document

With oTable.Cell(2, 1).Range
.Text = "Bobs your uncle"
.Font.Color = wdColorBlue
.Borders.OutsideLineStyle = wdLineStyleDouble
End With
End Sub
 
A

abelp1975

Thank you Greg.
The macro works perfect but I have severall actions to insert in
bettewn the "With oTable" and the "End With": various find and replaces
all diferent. Could you explain me how to do that?

Thanks
Abel
 
G

Greg

Abel,

If you are doing a find/replace then set the range to the table cell.


Sub Test()
Dim myRng As Range
Set myRng = ActiveDocument.Tables(1).Cell(2, 1).Range
With myRng.Find
.Text = "uncle"
.Replacement.Text = "favorit uncle"
.Execute Replace:=wdReplaceAll
End With
End Su
 
A

abelp1975

Dear Greg
Thank you once again.
I'm doing several find/replacements you thing this could be done
correctly like this:

Sub Test()
Dim myRng As Range
Set myRng = ActiveDocument.Tables(1).Cell(2, 1).Range
With myRng.Find
.Text = "uncle"
.Replacement.Text = "favorit uncle"
.Text = "nefew"
.Replacement.Text = "favorit nefew"
.Text = "sista"
.Replacement.Text = "favorit sista"
.Execute Replace:=wdReplaceAll
End With
End Sub

I mean several replacements inside the same with/range action?
 
G

Greg

Abel,

Did you try it? What do you think?

I don't think so, because before the .Execute statement you have only
changed your mind twice regarding what text you want to find and what
you want that text replaced with.

This would work:

Sub Test1()
Dim myRng As Range
Set myRng = ActiveDocument.Tables(1).Cell(2, 1).Range
With myRng.Find
.Text = "uncle"
.Replacement.Text = "favorit uncle"
.Execute Replace:=wdReplaceAll
.Text = "nefew"
.Replacement.Text = "favorit nefew"
.Execute Replace:=wdReplaceAll
.Text = "sista"
.Replacement.Text = "favorit sista"
.Execute Replace:=wdReplaceAll
End With
End Sub
 

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