Answers:
我设法找到一个解决方案,我记录了这个宏:
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
从技术上讲这是有效的,但我宁愿找到一个解决方案,不需要我经常按ctrl + e。但我认为这比手动重置规则更好。
没有什么好方法可以解决这个问题。我建议进行复制+粘贴值,然后删除原始单元格的内容。这将保持所有格式不变,但成功移动单元格内容。这有点麻烦,但您的另一个选择是每次剪切和粘贴时重做条件格式。你决定哪个工作少了。
作为一个程序员并不像你们中的某些人那样有天赋,我为解决问题所做的只是一个简短的两步过程。首先,我创建了一个额外的数据行,与我正在为我的项目工作的数据字段分开。我确保此数据行具有我想在整个数据字段中使用的正确条件格式。为方便起见,我将这一行命名为“标准”。
接下来,我只需通过突出显示具有我想要复制的公式的所有单元格来选择“标准”行。第三,我使用“格式画家”功能。我点击“格式画家”(屏幕左下角切割和复制),然后突出显示我希望公式与“标准”行中保留的公式匹配的单元格。
它不是自动的,但是一旦你创建了“标准”行,保留了你想要使用的条件格式,只需两步就可以很容易地应用到非常大的数据字段。
我发现了一种新方法!
您锁定有条件格式的单元格。剪切和粘贴时,条件格式保持不变!
我遇到了同样的问题并找到了一些解决方法 - 可能对你有用:
而不是复制和粘贴:标记最后一行/列(或范围)并使用“向下填充/填充”操作(快捷键:strg+ </ strg+ >)。然后还传输格式。
这也可以用宏来完成,即对于行范围:
Range("D2:D15").Select
Selection.FillDown
而不是剪切和粘贴:选择行或列并通过将光标悬停在选区的边缘(显示带箭头光标的十字)并拖放行/列包含来移动它。按下SHIFT。然后它不是经典的剪切和粘贴,而是移动。应保留条件格式。
锁定单元不是解决方案,经过测试且不起作用!
如果使用“选择性粘贴 - 无格式化”粘贴,则不会破坏已格式化的单元格,并且您不必担心用户必须打开宏才能修复格式。已部署的解决方案易于修复/解决方法!