问题
I know you usually show what you've tried in a question, but this is more of a "Do you have a good routine that does this?" question and I'm hoping you'll be willing to let it slide...
I'm working on a macro that copies cells that are conditionally formatted in a source worksheet and pastes them into an output sheet. Basically, I'm looking to keep all the formatting, shading, etc, but remove all the conditions (make the current formatting static) in the output sheet.
I've seen some solutions online - ranging from copying it first to a word document and then pasting it back, to looping through the output cells and copying format-element by format-element - and am just looking for a good, efficient way to do this.
Does anyone have one / a good link they'd be willing to share??
(Excel 2010)
THANKS!!!!
回答1:
Yes it is possible :) What you need to do is change the formatting of the cells that you plan to copy by mimicking the DisplayFormat and then deleting the conditional formatting
Sub Keep_Format()
Dim ws As Worksheet
Dim mySel As Range, aCell As Range
'~~> Change this to the relevant sheet
Set ws = ThisWorkbook.Sheets("Sheet1")
'~~> Change this to the relevant range
Set mySel = ws.Range("A1:A10")
For Each aCell In mySel
With aCell
.Font.FontStyle = .DisplayFormat.Font.FontStyle
.Interior.Color = .DisplayFormat.Interior.Color
.Font.Strikethrough = .DisplayFormat.Font.Strikethrough
End With
Next aCell
mySel.FormatConditions.Delete
'
'~~> Now Do the copying
'
'~~> Once you are done, close the sorce worksheet without saving
End Sub
回答2:
I think I've got it with the Office Clipboard: Copy range, open the Office Clipboard pane (the tiny button in the bottom right corner of the Clipboard section under the Home tab) and paste from there.
Here's a demo: http://www.bookkempt.com/2017/08/remove-conditional-formatting-but-keep.html
回答3:
I was trying to do the same, all answers seemed too much of work for me or based on some bug / glitch.
What worked for me is opening ms word copying the whole table from ms excel into ms word then pasting it back to ms excel. The style is there but the conditional formatting doesn't apply anymore.
来源:https://stackoverflow.com/questions/25768023/excel-copy-conditional-formatting-remove-rules-keep-format