如何在Excel VBA中仅为插入的数据添加加粗格式和/或单元格颜色?
如何用Excel VBA仅为插入的数据添加加粗格式和/或单元格颜色?
我来帮你搞定这个需求!其实核心就是在插入新行的操作完成后,立刻对这行数据设置格式,这样就只会影响新插入的内容,不会改动原有数据。
下面是修改后的完整代码,我把新增的格式设置部分用注释标出来了:
'对比工作表间的列,并在新行中插入缺失数据 ' 数据包含账户名称、账户编号以及标准账单和拼接内容 Dim Cnt As Long Dim Sht1 As Worksheet Dim Sht2 As Worksheet Set Sht1 = Sheets("Execute Billing") Set Sht2 = Sheets("Account Master File") For Cnt = 2 To Sht1.Range("B" & Rows.Count).End(xlUp).Row If Sht2.Range("A" & Cnt).Value <> Sht1.Range("B" & Cnt) Then ' 插入新行 Sht2.Rows(Cnt).Insert ' ---------------------- 新增格式设置部分 ---------------------- ' 1. 设置整行字体加粗 Sht2.Rows(Cnt).Font.Bold = True ' 2. 设置整行单元格背景颜色(这里用的是浅黄色RGB值,你可以自己调整) Sht2.Rows(Cnt).Interior.Color = RGB(255, 255, 153) ' 如果想用ColorIndex的话,也可以写成:Sht2.Rows(Cnt).Interior.ColorIndex = 36 ' ----------------------------------------------------------- ' 填入缺失的数据(这里替换成你实际的赋值代码) Sht2.Range("A" & Cnt).Value = Sht1.Range("B" & Cnt).Value ' 其他列的赋值也可以在这里补充,比如: ' Sht2.Range("B" & Cnt).Value = Sht1.Range("C" & Cnt).Value End If Next Cnt
小提示:
- 如果你不想给整行设置格式,只想针对特定列(比如A到D列),可以把
Rows(Cnt)改成Range("A" & Cnt & ":D" & Cnt) - 颜色值可以根据自己的需求调整,RGB的取值范围是0-255,你可以用Excel的取色器来获取想要的颜色代码
内容的提问来源于stack exchange,提问作者Troy Zaruba
相关产品推荐
相关产品推荐

