macro for performing more than one find and replace procedure at the same time

Anonymous
2010-08-07T18:21:24+00:00

ok, i've got to about 700!! find and replace procedures for a document of TWO MILLION words so this macro could save me about 4 hours of work.

i tried to rewrite this macro so that it would work but it didn't.  can anyone help me out

Sub Macro1()

Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = " mit der "
.Replacement.Text = " mitder"
.Text = " mit dem "
.Replacement.Text = " mitdem"
.Text = " mit den "
.Replacement.Text = " mitden"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub

Microsoft 365 and Office | Word | For home | Windows

Locked Question. This question was migrated from the Microsoft Support Community. You can vote on whether it's helpful, but you can't add comments or replies or follow the question.

0 comments No comments
Answer accepted by question author
Anonymous
2010-08-07T18:56:51+00:00

ok, i got it work, i just copied it over

Sub Macro1()

'

' Macro1 Macro

' Macro recorded 8/7/10 by Seely Foley

'

    Selection.Find.ClearFormatting

    Selection.Find.Replacement.ClearFormatting

    With Selection.Find

        .Text = " mit der "

        .Replacement.Text = " mitder"

        .Forward = True

        .Wrap = wdFindContinue

        .Format = False

        .MatchCase = False

        .MatchWholeWord = False

        .MatchWildcards = False

        .MatchSoundsLike = False

        .MatchAllWordForms = False

    End With

    Selection.Find.Execute Replace:=wdReplaceAll

    Selection.Find.ClearFormatting

    Selection.Find.Replacement.ClearFormatting

    With Selection.Find

        .Text = " mit den "

        .Replacement.Text = " mitden"

        .Forward = True

        .Wrap = wdFindContinue

        .Format = False

        .MatchCase = False

        .MatchWholeWord = False

        .MatchWildcards = False

        .MatchSoundsLike = False

        .MatchAllWordForms = False

    End With

    Selection.Find.Execute Replace:=wdReplaceAll

End Sub

Was this answer helpful?

30+ people found this answer helpful.
0 comments No comments

53 additional answers

Sort by: Oldest
  1. Paul Edstein 82,871 Reputation points Volunteer Moderator
    2016-04-06T00:26:33+00:00

    Your filepath appears to be missing the drive identifier, at least. For Mac-specific questions, you might do better to ask at: http://answers.microsoft.com/en-us/mac/forum/macword?

    Was this answer helpful?

    0 comments No comments
  2. Anonymous
    2016-08-18T05:50:41+00:00

    This is a brilliant macro, and I'm truly grateful for it. Two questions about it:

    1. I tried to modify it using wildcards. The search function worked OK, but not the replace--it inserted the code rather than the actual characters (like ^p instead of a real return). Any tips?
    2. I also tried to modify it such that it would just highlight the search terms, but that crashed VBA. Any advice?

    Many thanks, as usual ...

    Was this answer helpful?

    0 comments No comments
  3. Charles Kenyon 171K Reputation points Volunteer Moderator
    2016-08-18T13:35:15+00:00

    I would guess Graham will respond soon. He is much more knowledgeable in this area than am I.

    In the meantime,  ...

    When you use wildcards, you cannot also use the special codes.

    You may want to post the part of the code you tried modifying.

    Was this answer helpful?

    0 comments No comments
  4. Anonymous
    2016-08-18T19:10:05+00:00

    I just modified the terms in the Do While block after .Execute, making MatchWildcards:=True rather than False. And for the attempted highlight, I added .Replacement.Highlight = True after the range find statement. I should have known it wouldn't be so easy...

    Was this answer helpful?

    0 comments No comments