You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 20:15:33