Excel - 复制条件格式,删除规则,保持格式

Joh*_*tos 10 excel vba conditional-formatting excel-vba

我知道你通常会在一个问题中展示你曾经尝试过的东西,但这更像是"你有一个很好的例行程序可以做到这一点吗?" 问题,我希望你愿意让它滑落......

我正在研究一个宏,它复制在源工作表中有条件格式化的单元格并将它们粘贴到输出表格中.基本上,我希望保留所有格式,阴影等,但删除输出表中的所有条件(使当前格式为静态).

我已经在网上看到了一些解决方案 - 从首先将其复制到word文档然后粘贴回来,循环输出单元格和按格式元素复制格式元素 - 我只是在寻找一种好的,有效的方法做这个.

有没有人有一个/他们愿意分享的好链接?

(Excel 2010)

谢谢!!!!

Sid*_*out 16

是的,这是可能的:)你需要做的是通过模仿DisplayFormat然后删除条件格式来更改计划复制的单元格的格式

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
Run Code Online (Sandbox Code Playgroud)


Mar*_*hog 7

我想我已经有了 Office 剪贴板:复制范围,打开 Office 剪贴板窗格(主页选项卡下剪贴板部分右下角的小按钮)并从那里粘贴。

这是一个演示:http : //www.bookkempt.com/2017/08/remove-conditional-formatting-but-keep.html