![]() |
|
#1
|
|||
|
|||
|
I have a unique case where I want to move the selection forward in a document to the first of either the next highlighted word or the next word with turquoise font color. I know both actions are individually possible with:
Code:
Selection.Find.ClearFormatting
Selection.Find.Highlight = True
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = ""
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindAsk
.Format = True
.MatchCase = False
End With
Selection.Find.Execute
Code:
Selection.Find.ClearFormatting
Selection.Find.Font.ColorIndex = wdTurquoise
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = ""
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute
Thank you!! |
|
#2
|
||||
|
||||
|
There may be a more elegant way to do this but this is my initial thoughts on how to solve it
Code:
Sub ChickenOrEgg()
Dim aRng As Range, rngHigh As Range, rngTurq As Range
Set aRng = Selection.Range
aRng.End = ActiveDocument.Range.End
With aRng.Find
.ClearFormatting
.Highlight = True
.Text = ""
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindStop
.Format = True
.MatchCase = False
If .Execute Then Set rngHigh = aRng.Duplicate
End With
Set aRng = Selection.Range
aRng.End = ActiveDocument.Range.End
With aRng.Find
.ClearFormatting
.Font.ColorIndex = wdTurquoise
.Text = ""
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindStop
.Format = True
.MatchCase = False
If .Execute Then Set rngTurq = aRng.Duplicate
End With
If rngHigh Is Nothing Then
If rngTurq Is Nothing Then
MsgBox "No hits for either"
Else
rngTurq.Select
End If
Else
If rngTurq Is Nothing Then
rngHigh.Select
Else
If rngHigh.Start < rngTurq.Start Then
rngHigh.Select
Else
rngTurq.Select
End If
End If
End If
End Sub
__________________
Andrew Lockton Chrysalis Design, Melbourne Australia |
|
#3
|
|||
|
|||
|
Thank you so much for the solution!
|
|
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Dragging a selection to copy it, not to move it | wardw | Word VBA | 2 | 11-28-2019 11:09 AM |
How to move a selection one cell up using VBA?
|
Bumba | Excel Programming | 6 | 11-19-2019 08:50 AM |
Move Selection to the next Column on a Page (Not a table)
|
GuitarForLife | Word VBA | 7 | 02-09-2018 01:59 PM |
| Search a folder to move an email to | koolman31 | Outlook | 0 | 02-11-2016 10:29 AM |
Search and reduce the range of a text selection
|
paik1002 | Word VBA | 1 | 12-17-2015 04:51 AM |