在工作表VBA上插入值之前或之后更改整行的颜色

我正试图改变一个行的值,当一个确定的条件发生时,我想插入后做的,但也许它更容易插入之前(?)事情是我已经尝试了两个,我做错了,因为它不工作

码:

With ThisWorkbook.Worksheets("Site Configuration List") ' Tried this .Range("A").EntireRow.Interior.Color = 49407 .Range("A" & Rows.Count).End(xlUp).Offset(1).Value = Code .Range("B" & Rows.Count).End(xlUp).Offset(1).Value = Name .Range("C" & Rows.Count).End(xlUp).Offset(1).Value = "" & Contract & "" .Range("D" & Rows.Count).End(xlUp).Offset(1).Value = SiteCode .Range("E" & Rows.Count).End(xlUp).Offset(1).Value = SiteName .Range("G" & Rows.Count).End(xlUp).Offset(1).Value = Approver .Range("K" & Rows.Count).End(xlUp).Offset(1).Value = ItemCode .Range("M" & Rows.Count).End(xlUp).Offset(1).Value = RequiredQty .Range("N" & Rows.Count).End(xlUp).Offset(1).Value = ControlFlag If Color = 0 Then ', this .Offset(-1).Interior.Color = 49407 ',this .Interior.Color = 49407 'and this .EntireRow.Interior.Color = 255 Else End If End With 

显然不是在同一时间,但没有那些工作。 我在做什么错,我该如何解决? 我是VBA新手,一些最简单的东西通常需要我花更多的时间来弄清楚。 为了达到我想要的效果,我用了其他类似的问题。 对上面的代码执行子的调用是在一个循环内,然而,每一个我尝试过的东西,当它到达线路程序刚刚停止。 没有错误或任何东西。

改变你的代码,如下所示。

 With ThisWorkbook.Worksheets("Site Configuration List") .Range("A" & Rows.Count).End(xlUp).Offset(1).EntireRow.Interior.Color = 49407 .Range("A" & Rows.Count).End(xlUp).Offset(1).Value = Code .Range("B" & Rows.Count).End(xlUp).Offset(1).Value = Name 

范围没有被正确地声明。 代替

 .Range("A").EntireRow.Interior.Color = 49407 

它需要

 .Range("1:1").EntireRow.Interior.Color = 49407 

如果你想高亮整行或者

 .Range("A:A").EntireColumn.Interior.Color = 49407 

突出整个专栏。

编辑

要为最后一行数据着色,您需要使用Rows方法,以及从Rows.Count获取的最后一行数。 代码如下所示

 Rows(Range("A" & Rows.Count).End(xlUp).Row).EntireRow.Interior.Color = 49407 

要么

 Rows(Range("A" & Rows.Count).End(xlUp).offset(1).Row) _ .EntireRow.Interior.Color = 49407