VBA代码疑问:给背景色索引47的单元格上方添加‘Core’文本
VBA问题解决:在指定背景色单元格上方添加文本
你的代码问题确实出在第四行——r是Range对象,不能直接用r-1来定位上一行单元格,得用r.Row提取行号后再减1。另外还要注意,如果目标单元格是A1(行号1),r.Row-1会变成0,这时候写入会报错,所以得加个判断避免这种情况。
修改后的代码如下:
Dim r As Range For Each r In Range("A1:A10").Rows If r.Interior.ColorIndex = 47 Then ' 判断行号大于1,避免A1上方无行的错误 If r.Row > 1 Then Cells(r.Row - 1, "A").Value = "Core" End If End If Next r
如果能确定A1不会有背景色47,也可以去掉内层判断,直接使用Cells(r.Row - 1, "A").Value = "Core"。
内容的提问来源于stack exchange,提问作者Yahooooooo
相关产品推荐
相关产品推荐

