How do I change the color of Strikethrough without changing the color of the text?

Anonymous
2010-10-06T19:10:44+00:00

Hello,

I have Word 2007. I want to achieve red Strikethrough upon normal black text.

I would be grateful to know how to do this, or if, as I suspect, it is not possible, then I would also be interested to know why Microsoft has not provided this quite obviously needed function.

I look forward to hearing from you.

Regards,

Robert.

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-11-30T09:36:24+00:00

Crossing something out electronically is a nonsense; period. That the facility is even made available is a questionable use of resources. If you really want to strikethrough in a colour other than the text colour, you must use fields (see http://wordfaqs.mvps.org/Overbar.htm) to overlay your text with struckthrough spaces, and format the spaces in whatever colour you want.

Was this answer helpful?

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

119 additional answers

Sort by: Newest
  1. Anonymous
    2016-12-30T08:25:21+00:00

    Dear Paul,

    The need is for the strikethrough. I separately replied to your post addressing the issue. I am humbled by the depth of your skills and kindness, though!

    Andrew

    Was this answer helpful?

    0 comments No comments
  2. Anonymous
    2016-12-30T08:18:20+00:00

    Dear Stefan,

    I am grateful nonetheless. Regarding www.uservoice.com, great suggestion. OK, THANKS!

    Andrew

    Was this answer helpful?

    0 comments No comments
  3. Anonymous
    2016-12-30T08:07:41+00:00

    Dear Paul,

    With immense gratitude for the generous time and effort.

    I copied and pasted the macro into the Visual Basic Editor (and deleted the redundant Sub ColouredStrikethrough() and closing End Sub that VBE adds to leave exactly like your macro in its entirety after that last existing macro.)

    I ran it over a highlighted word which immediately returned *Error!*  

    If time I'd be delighted to know where I have gone wrong.

    Thank you very much!

    AndrewDec 30, '16

    Was this answer helpful?

    1 person found this answer helpful.
    0 comments No comments
  4. Paul Edstein 82,871 Reputation points Volunteer Moderator
    2016-12-30T04:22:19+00:00

    OK, give the following a whirl:

    Sub ColouredStrikethrough()

    Application.ScreenUpdating = False

    ActiveWindow.View.ShowFieldCodes = True

    Dim SngWdth As Single, i As Long

    Dim StrTxt As String, StrTmp As String

    Dim Fld As Field, Rng As Range

    With Selection.Range

      While .Characters.Last.Information(wdVerticalPositionRelativeToPage) <> _

        .Characters.First.Information(wdVerticalPositionRelativeToPage)

        .MoveEnd wdCharacter, -1

      Wend

      SngWdth = .Characters.Last.Information(wdHorizontalPositionRelativeToPage) - _

      .Characters.First.Information(wdHorizontalPositionRelativeToPage)

      StrTxt = .Text

      For i = 1 To Len(StrTxt)

        StrTmp = StrTmp & Chr(150)

      Next

      Set Fld = .Fields.Add(Range:=Selection.Range, Type:=wdFieldEmpty, _

        PreserveFormatting:=False, Text:="EQ \o(" & StrTxt & "," & StrTmp & ")")

      Fld.Code.Characters.Last = ChrW(8203)

      Set Rng = Fld.Code

      With Rng

        .Font.ColorIndex = wdRed

        .Start = .Start + InStr(.Text, StrTxt) - 1

        .End = .Start + Len(StrTxt)

        .Font.ColorIndex = wdAuto

      End With

      Set Rng = Fld.Code

      With Rng

        .Start = .Start + InStr(.Text, StrTmp) - 1

        .End = .Start + Len(StrTmp)

        .FitTextWidth = SngWdth

      End With

      .Fields.Update

    End With

    ActiveWindow.View.ShowFieldCodes = False

    Application.ScreenUpdating = True

    End Sub

    Was this answer helpful?

    0 comments No comments