Return text with text colour

Closed
TheQ1991
Posts
2
Registration date
Saturday June 10, 2017
Status
Member
Last seen
June 10, 2017
- Jun 10, 2017 at 10:22 AM
TrowaD
Posts
2888
Registration date
Sunday September 12, 2010
Status
Moderator
Last seen
August 16, 2022
- Jun 12, 2017 at 11:48 AM
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

Mazzaropi
Posts
1963
Registration date
Monday August 16, 2010
Status
Contributor
Last seen
April 25, 2022
147
Jun 10, 2017 at 12:34 PM
TheQ1991, Good afternoon.

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

Jun 10, 2017 at 08:48 PM
Thank you.

Any idea what the VBA code would be?
0
vcoolio
Posts
1356
Registration date
Thursday July 24, 2014
Status
Moderator
Last seen
August 11, 2022
250
Updated on Jun 10, 2017 at 09:19 PM
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.
0
TrowaD
Posts
2888
Registration date
Sunday September 12, 2010
Status
Moderator
Last seen
August 16, 2022
515
Jun 12, 2017 at 11:48 AM
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
0