Microsoft Office Forums

Go Back   Microsoft Office Forums > >

Reply
 
Thread Tools Display Modes
  #1  
Old 08-05-2022, 01:47 PM
Harvi007 Harvi007 is offline VBA Marco to change font colour of every other word Windows 11 VBA Marco to change font colour of every other word Office 2019
Novice
VBA Marco to change font colour of every other word
 
Join Date: Aug 2022
Posts: 11
Harvi007 is on a distinguished road
Cool A potential solution... it works..

So after messing about, and finding bits of code online, i've managed to come up with this...

I hope it helps others looking to do the same thing.
----------------------------------------------------------------------------------------
Sub wordslistChange()

Dim avar As Variant

avar = Split(Replace(ActiveDocument.Range.Text, vbCr, " "))

For i = LBound(avar) To UBound(avar)

i = i + 1

'MsgBox avar(i)

With Selection.Find
.ClearFormatting
.Text = avar(i)
On Error Resume Next
.MatchCase = True
.MatchWholeWord = True
.Replacement.ClearFormatting
.Replacement.Text = avar(i)
.Replacement.Font.Color = wdColorRed 'change colour as required
.Forward = True
.Wrap = Word.WdFindWrap.wdFindContinue
.Execute Replace:=Word.WdReplace.wdReplaceOne
End With

Next i

End Sub
------------------------------------------------------------------------------------------

This basically populates the array and then does the odd even colour change magic.



Have fun people and feel free to mod the code to make it even more efficient.

Thank you

Last edited by Harvi007; 08-05-2022 at 10:32 PM.
Reply With Quote
  #2  
Old 08-05-2022, 02:01 PM
Harvi007 Harvi007 is offline VBA Marco to change font colour of every other word Windows 11 VBA Marco to change font colour of every other word Office 2019
Novice
VBA Marco to change font colour of every other word
 
Join Date: Aug 2022
Posts: 11
Harvi007 is on a distinguished road
Exclamation Stop Press

Stop press...

so I've just checked my text and although it should work as expected, there is a slight issue...

It seems to colour the last word on a line and the first word on the line immediately after in the same colour when it should be true Odd Even colouring.

Any help on this would be much appreciated..

So close yet so far

Edit::

I put a msgbox in the code to see what the array was outputting and saw that the array is adding the newline return in the middle of the 2 words making them show as one. A sample of this is 'close.□Then'

The □ is the new line or carriage return.

For now I can get around this by changing the page size to that the next word goes to the next line without adding a carriage return, but this messes up the formatting.

Please help

Edit Again::

So I've narrowed it down to the way the array is being split with the code avar = Split(Replace(ActiveDocument.Range.Text, vbCr, " "))

I've tried to replace the vbCr with both vbCrLf and vbLf with no avail.

The carriage return used in the text is shift+enter if that helps.

Last edited by Harvi007; 08-05-2022 at 10:38 PM.
Reply With Quote
Reply

Tags
macro font colour, vba change colour

Thread Tools
Display Modes


Similar Threads
Thread Thread Starter Forum Replies Last Post
Word Macro Recorder does not record font colour selection Ramkay Word 1 12-02-2020 07:48 AM
VBA Marco to change font colour of every other word VBA - Word how to globally change the font and font size in footnotes thomasoj Word VBA 3 01-15-2020 06:26 AM
VBA Marco to change font colour of every other word VBA to change font colour in email body on send RealmOfCOnfusion Outlook 1 06-30-2016 09:55 PM
VBA Marco to change font colour of every other word Change font colour when tasks are completed meileetan Project 3 09-12-2012 07:09 AM
VBA Marco to change font colour of every other word Change Colour Theme in Word with VBA Davidoff78 Word VBA 1 06-28-2012 05:23 PM

Other Forums: Access Forums

All times are GMT -7. The time now is 10:02 PM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions Inc.
Search Engine Optimisation provided by DragonByte SEO (Lite) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
MSOfficeForums.com is not affiliated with Microsoft