excel - 当 AutoFilter 更改时,每隔一个可见行自动添加“Zebra Stripes”
问题描述
我有大约 250 行的报告(变化 +/- 15 行,A - J 列)。为了使最终用户更容易看到报告,我使用 Zebra Stripes 对每一行进行格式化。问题在于,每当对数据应用过滤器时,斑马条纹(行)有时会聚集在一起,这完全违背了拥有它们的目的。
我想做的是在过滤器更改后每隔一个可见行出现斑马条纹 - 我知道这个网站上已经存在这样的代码 - 但我还希望自动发生这种情况而无需触发任何代码.
就添加格式而言,我当前的宏工作正常——但没有达到上述理想目标。任何指导表示赞赏。
Sub AddZebraStripes()
Dim c As Range, LastRow As Long
LastRow = Sheet1.Cells(Rows.Count, "A").End(xlUp).Row
Sheet1.Range("A2:J" & LastRow).Interior.ColorIndex = xlNone
For Each c In Sheet1.Range("A2:J" & LastRow)
If c.Row Mod 2 = 0 Then
c.Interior.ThemeColor = xlThemeColorDark1: c.Interior.TintAndShade = -0.15
End If
Next c
End Sub
解决方案
如果您的列中始终包含数据,您也可以轻松地使用条件格式。
公式中的引用指向所选数据列中的第一个单元格
请注意公式中的绝对与非绝对单元格引用。将格式设置为 true,然后根据您想要的条带方式,您可以在公式中反转“TRUE”和“FALSE”
=IF(MOD(SUBTOTAL(103,$A$2:$A2),2)=0,"TRUE","FALSE")
更新
要允许数据列中的空白值:
=IF(MOD(SUBTOTAL(103,$A$2:$A2)+COUNTBLANK($A$2:$A2),2)=0,"TRUE","FALSE")
推荐阅读
- java - 对更小元素的二分搜索
- dictionary - 运行空 Map 时 Map.length 的返回值
- javascript - Vue生成并下载excel文件
- node.js - 升级 Sequelize 包
- loops - Newton Raphson 方法 - While 循环不会取消
- reactjs - 类声明中包含接口的尖括号
- javascript - 服务器端渲染中只能在浏览器中运行的包错误
- git - 用分支替换 git master (就像在 nuke master 中完全一样,只有分支,而不是一些单独的提交)
- javascript - React Native - 数组内对象内的数组状态更新问题
- mysql - 从表中选择多行并插入到不同的表中