Return text with text colour [Closed]

Report
Posts
2
Registration date
Saturday June 10, 2017
Status
Member
Last seen
June 10, 2017
-
Posts
2674
Registration date
Sunday September 12, 2010
Status
Moderator
Last seen
October 27, 2020
-
Hi

Is there a way of doing the following for example?

In cell B1 for example, I would like whatever is in A1, but with the same text colour.

So if A1 is 'hello' in red, then B1 the will return 'hellos' in red

Thanks

3 replies

Posts
1842
Registration date
Monday August 16, 2010
Status
Contributor
Last seen
October 27, 2020
136
TheQ1991, Good afternoon.

I believe you need to use a VBA Excel programation to do what you want.
Posts
2
Registration date
Saturday June 10, 2017
Status
Member
Last seen
June 10, 2017

Thank you.

Any idea what the VBA code would be?
Posts
1260
Registration date
Thursday July 24, 2014
Status
Moderator
Last seen
February 3, 2020
213
Hello TheQ1991,

Try the following Worksheet_Change event code placed in the sheet module:-


Private Sub Worksheet_Change(ByVal Target As Range)


If Target.Count > 1 Then Exit Sub
If Target.Value = vbNullString Then Exit Sub
If Intersect(Target, Range("A:A")) Is Nothing Then Exit Sub

        If Target.Value <> "" And Target.Font.ColorIndex = 3 Then
        Target.Offset(, 1).Value = Target.Value
        Target.Offset(, 1).Font.ColorIndex = 3
End If

End Sub


With the above code, if any cell in Column A is not empty and is formatted to red font, then the value in the adjacent cell in Column B will equal the value in the cell in Column A and in red font. Otherwise, nothing will happen.

To implement the code, right click on the sheet tab, select "view code" from the menu that appears and in the big white field that then appears, paste the above code.

I hope that this helps.

Cheerio,
vcoolio.

P.S. To execute the code:
Once you enter a value in any cell in Column A and then click away (or press enter or down arrow), the code will execute.
Posts
2674
Registration date
Sunday September 12, 2010
Status
Moderator
Last seen
October 27, 2020
446
Hi TheQ1991,

Or a more general approach then vcoolio's code:

Sub RunMe()
For Each cell In Range("A:A")
    If cell.Value <> vbNullString Then
        cell.Copy cell.Offset(0, 1)
    End If
Next cell
End Sub


Whenever there is a value in column A, copy it to the adjacent with all formats applied.

This code needs to be placed in a standard module and run manually, if you choose to use it.

Best regards,
Trowa