在剪切粘贴时保留条件格式

dur*_*597 5 cut-and-paste conditional-formatting microsoft-excel microsoft-excel-2010

我有一些来自不同来源的数据,我试图整理这些数据以很好地处理它们有哪些共同点,哪些没有。为了更容易查看行,我设置了一个条件格式规则,如下所示:

规则:

=MOD(ROW(),2)=0
Run Code Online (Sandbox Code Playgroud)

适用于:

=$1:$1048576
Run Code Online (Sandbox Code Playgroud)

行动:

Turn Green
Run Code Online (Sandbox Code Playgroud)

这很好用......直到我在一列或另一列中剪切并粘贴一块单元格。Excel 的“智能剪切和粘贴”破坏了一切,通过复制规则或从区域中删除部分,我必须再次修复条件格式。如何在不更改条件格式规则的情况下移动数据?

dur*_*597 3

我设法找到一个解决方案,我记录了这个宏:

Sub FomattingRules()
'
' FomattingRules Macro
'
' Keyboard Shortcut: Ctrl+e
'
    Cells.Select
    Cells.FormatConditions.Delete

    Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
        "=MOD(ROW(),2)=0"
    Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
    With Selection.FormatConditions(1).Interior
        .PatternColorIndex = xlAutomatic
        .ThemeColor = xlThemeColorAccent3
        .TintAndShade = 0.599963377788629
    End With
    Selection.FormatConditions(1).StopIfTrue = False
End Sub
Run Code Online (Sandbox Code Playgroud)

从技术上讲,这是可行的,但我宁愿找到一个不需要我经常按 ctrl+e 的解决方案。但我想这比手动重置规则要好。