excel - 如何以 4/3/4/3 模式为列着色?
问题描述
我正在尝试在与我在工作表上制作的日历上的周末(周五至周日)相关的列中着色。本质上,该模式将类似于 4 列无填充、3 列有填充、4 列无填充等。
我想要一个比我拥有的更优雅的解决方案,因为我的(目前)非常缓慢和缓慢。
注意:rng = 我的日历范围
For Each col In rng.Columns
For Each cell In col.Cells
If k = 5 Or k = 6 Or k = 7 Then
cell.Interior.Color = RGB(210, 210, 210)
ElseIf k = 8 Then
k = 1
End If
Next cell
k = k + 1
Next col
解决方案
基于涉及列索引和 MOD 函数的公式的条件格式规则应该做得很好。
Sub Bands_43()
With Worksheets("sheet2")
'reference columns B:Z
With .Range("B:Z")
.FormatConditions.Delete
With .FormatConditions.Add(Type:=xlExpression, Formula1:="=AND(ROW(1:1)>3, MOD(COLUMN(A:A)-1, 7)>3)")
.Interior.Color = RGB(210, 210, 210)
End With
End With
End With
End Sub
推荐阅读
- html - 带有内容的 css 网格标题和具有最大宽度和中心的侧边栏
- android - 在 ConstraintLayout 中选择 Spinner 项目时,滚动视图跳到顶部
- java - 我的输出收到两条错误消息
- spring-boot - 在 h2 数据库 oracle 模式下插入无法按预期工作
- cryptography - 根据过去的值预先计算加密随机数的下一个值是否安全?
- html - 如何防止动态表增长超过定义的高度?
- kotlin - 有没有办法在卡夫卡的 Micronaut 中将密钥和对象作为返回值传递
- php - 显示图片网址 - wordpress
- powerbi - DAX 将标志设置为每月最大天数并输入
- awk - 在图案处加入线条。不均匀间隔