Feb 19 2023 12:31 PM
I have a workbook with several worksheets. On one sheet there are 2 columns of text (Lname & Fname).
All of the cells are conditionally formatted with either of 3 colors.
There is code in a macro that copies and pastes those columns to another sheet.
Problem is that the colors change when pasted. It's like the 2nd sheet contains formatting that cannot be overwritten. They need to copy and paste as original.
I tried clearing formats prior to copying but no better.
Called Microsoft support but they found no problem with Excel and suggested this site for support.
Feb 19 2023 12:55 PM
Could you attach a small sample workbook demonstrating the problem (without sensitive data), or if that is not possible, make it available through OneDrive, Google Drive, Dropbox or similar?
Feb 19 2023 01:42 PM
Feb 19 2023 01:47 PM
If you see an area below the box where you compose a reply that says "Drag and drop here or browse files to attach", drag the workbook there.
If you don't see it, you should be able to attach it to a private message to me (click on my user picture).
Or you can upload it to a cloud service such as Google Drive or OneDrive, then obtain a share link to the uploaded file and post that link in a reply here.
Feb 19 2023 02:17 PM
No, I don't see an attachment, nor a link, nor a private message from you.
Feb 19 2023 02:31 PM
Yes, I did, thanks. I will take a look.
Feb 19 2023 02:34 PM
If I copy names from the first sheet to the second sheet manually, the colors are preserved.
You didn't include the macro in the workbook.
Could you post the code?
Feb 19 2023 02:38 PM
Feb 19 2023 02:47 PM
Feb 19 2023 02:51 PM
Feb 19 2023 03:22 PM
SolutionOK, I see what's happening.
The cells in columns A and B on the Members1 sheet have font colors applied manually, but those are overruled by the conditional formatting rules.
For example, the text ANGELLE GARY in A4 and B4 is formatted manually as red, but since M4 contains Senior, the conditional formatting rule overrules that and colors the text blue.
When the code copies columns A and B to columns B and C on the Score Input-Flights sheet, both the manual formatting and the conditional formatting are copied.
But none of he conditional formatting rules is applied, since the rules now refer to column M on the Score Input-Flights sheet, and that column is empty.
So the cells display the manually applied colors. On the second sheet, ANGELLE GARY is red, not blue.
To keep the conditional formatting rules working, you have to copy column M too:
Sub Test()
Application.ScreenUpdating = False
Sheets("Members1").Range("A1:B200").Copy
With Sheets("Score Input-Flights").Range("B1:C200")
.PasteSpecial Paste:=xlFormats
.PasteSpecial Paste:=xlValues
End With
Sheets("Members1").Range("M1:M200").Copy
With Sheets("Score Input-Flights").Range("M1:M200")
.PasteSpecial Paste:=xlFormats
.PasteSpecial Paste:=xlValues
End With
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
Feb 20 2023 06:24 AM
Feb 20 2023 06:44 AM
You could move column M so that there is room for the code to copy the data.
Feb 20 2023 08:02 AM
Feb 20 2023 12:46 PM
Try this version:
Sub Test()
Dim fc As FormatCondition
Dim f As String
Application.ScreenUpdating = False
Sheets("Members1").Range("A1:B200").Copy
With Sheets("Score Input-Flights").Range("B1:C200")
.PasteSpecial Paste:=xlFormats
.PasteSpecial Paste:=xlValues
For Each fc In .FormatConditions
f = fc.Formula1
fc.Modify Type:=xlExpression, Formula1:=Replace(f, "(", "(Members1!")
Next fc
End With
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
Feb 20 2023 03:06 PM
Feb 20 2023 03:10 PM
It works for me in your sample workbook. In what way does it fail for you? Please provide detailed information: "still not working correctly" doesn't tell me much.