excel - For循环每隔5行格式化单元格
问题描述
我正在尝试格式化一个不断增长的表格。假设表格有 20 行,我希望前 5 行,之后每隔 5 行,所以 1-5、11-15 是某种颜色。我试图通过 for 循环来实现这一点。
b = 0
For i = 1 To lRow
a = i - (5 * (i \ 5))
c = b - (2 * (b \ 2))
If c = 0 Then
If a = 0 Then
DSws.Range("A" & i - 3, "H" & i). _
Interior.Color = RGB(141, 180, 227)
b = b + 1
MsgBox b
End If
End If
Next I
lRow 确定最后一行,因此设置循环的范围。
之后我使用了两个 mod 函数,第一个确定它是 5 的间隔,第二个确定迭代是偶数还是奇数(完成其他 5 的效果)。
当我运行此代码时,仅突出显示前 5 个。
解决方案
我真的不知道您的其余代码打算完成什么,但是这种重写简化了您的循环,以在 A:H 列中交替着色 5 行带。
For i = 1 To lRow step 10
DSws.cells(i, "A").resize(5, 8).Interior.Color = RGB(141, 180, 227)
Next i
推荐阅读
- javascript - 将标记标签添加到谷歌地图标记
- python - Django View 不返回 httpresponse
- javascript - 为什么 Javascript 中的日期值不同
- ios - 具有多种颜色的 UIAlertController 消息
- jquery - 动态乘以每行的单元格值
- javascript - 当元素到达窗口顶部时仅调用一次函数
- php - php图像未获取stdClass
- objective-c - 试图欺骗 macOS 软件在 High Sierra 上运行
- r - 在 r markdown 中为打印命令修剪空白
- c++ - 如何制作一个填充数组的函数发送到函数?而不是其参数中的数组