Excel VBA仅对选定行中的某些单元格进行着色

我正在寻找一个Excel VBA代码,只会给任何给定的用户select的行( cells A to P )中的某些单元格,而不是整个行,这也使我的表格外部没有数据的单元格颜色。

用户需要每天查看列表,并确定某一行是否应标记为绿色或橙色,以便以后进行跟踪。

目前我使用这个:

 Selection.EntireRow.Select With Selection.Interior .Color = 49407 

但是如前所述,这也是我的数据范围之外的单元格的颜色,我只希望范围内( A to P )的颜色。

build议您尽量远离Selection ,但是如果您必须拥有它,请使用类似下面的代码:

 Dim Rng As Range Set Rng = Selection Range(Cells(Rng.Row, "A"), Cells(Rng.Row, "P")).Interior.Color = 49407 

您可以使用相交function

 Set RangeFixed= Range("A:P") Application.Intersect(Selection.EntireRow,RangeFixed).Select With Selection.Interior .Color = 49407 

基于这个答案