基于活动单元格select两列?

我试图在2组的长列上做条件格式。我不知道如何logging一个macros,它将从活动单元格和旁边的列中select整个列,然后应用条件格式化。 然后向下移动两个单元格并重复。

这是我迄今为止,但它会继续回到那些特定的细胞,我需要它移动到右边2。

Sub findDups() ' ' findDups Macro ActiveCell.EntireColumn.Select Selection.FormatConditions.AddUniqueValues Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority Selection.FormatConditions(1).DupeUnique = xlDuplicate With Selection.FormatConditions(1).Font .Color = -16383844 .TintAndShade = 0 End With With Selection.FormatConditions(1).Interior .PatternColorIndex = xlAutomatic .Color = 13551615 .TintAndShade = 0 End With Selection.FormatConditions(1).StopIfTrue = False Range("M1").Select Worksheets("User Check List").Activate Selection.Offset(0, 2).Select End Sub 

这应该让你开始。 我完全避免使用Selection ,只使用ActiveCell作为知道从何处启动macros的一种手段。 最好,你可以用Application.InputBox做到这一点,但这不是什么大不了的事情。

因为我不知道要循环多less次,所以我使用了一个Do ... Loop语句,并且这个语句会一直持续到列号> 26.您可以在Loop Until ...语句中更改它。

 Sub findDups() Dim startCell As Range Dim formatCols As Range Set startCell = ActiveCell Do Set formatCols = startCell.Resize(1, 2).EntireColumn formatCols.FormatConditions.AddUniqueValues formatCols.FormatConditions(formatCols.FormatConditions.Count).SetFirstPriority formatCols.FormatConditions(1).DupeUnique = xlDuplicate With formatCols.FormatConditions(1).Font .Color = -16383844 .TintAndShade = 0 End With With formatCols.FormatConditions(1).Interior .PatternColorIndex = xlAutomatic .Color = 13551615 .TintAndShade = 0 End With Set startCell = startCell.Offset(0, 2) Loop Until startCell.Column >= 26 End Sub 

以下是输出格式的示例:

在这里输入图像说明