我有一些来自不同来源的数据,我想将它们排列起来,以便更好地了解它们有哪些共同的字段,哪些字段没有共同的字段。为了更容易看到行,我设置了一个条件格式规则,如下所示:
规则:
=MOD(ROW(),2)=0
适用于:
=$1:$1048576
行动:
Turn Green
效果很好……直到我剪切并粘贴一列或另一列中的单元格块。Excel 的“智能剪切和粘贴”破坏了一切,要么复制规则,要么从区域中删除部分,我不得不再次修复条件格式。我怎样才能在不更改条件格式规则的情况下移动数据?
答案1
我设法找到了一个解决方案,我记录了这个宏:
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 的解决方案。但我想这比手动重置规则要好。
答案2
没有什么很好的办法可以解决这个问题。我建议复制粘贴值,然后删除原始单元格的内容。这将保持所有格式不变,但可以成功移动单元格内容。这有点麻烦,但你的另一个选择是每次剪切和粘贴时重新设置条件格式。你决定哪种方法更省事。
答案3
我不像你们中的一些人那样是个天才的程序员,我解决这个问题的方法很简单,只需两步。首先,我创建了一行额外的数据,与我正在为我的项目处理的数据字段分开。我确保此数据行具有我想要在整个数据字段中使用的正确条件格式。为了方便起见,我将此行命名为“标准”。
接下来,我只需选择“标准”行,突出显示所有包含我想要复制的公式的单元格即可。第三,我使用“格式刷”功能。我单击“格式刷”(剪切和复制下方屏幕左上角),然后突出显示我希望公式与“标准”行中保留的公式相匹配的单元格。
它不是自动的,但是一旦您创建了保留要使用的条件格式的“标准”行,只需两个步骤就可以很容易地应用于非常大的数据字段。
答案4
我认为,如果您按列进行条件格式设置(即 $G:$G)而不是提及行,则当您剪切和粘贴行时,它应该会保留条件格式。前提是您不剪切和粘贴列(即,如果您使用 $A:$D)。