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: Most helpful
  1. Paul Edstein 82,871 Reputation points Volunteer Moderator
    2016-12-30T13:02:29+00:00

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

    As I said previously:

    If the range spanned by an EQ field exceeds the amount that be displayed on a single line or spans a paragraph break, the result will be an 'Error!' display in the document.

    It seems likely therefore that a paragraph break was included in your selection.

    Was this answer helpful?

    0 comments No comments
  2. 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
  3. 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
  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