如何用条件对单元格进行着色

我有像下面的Excel中的数据

ABCD sam 9.8 sam 1 kev 0.1 kev 0.1 ashl 2 ashl 2 kris 5.5 kris 3 

如果对于例如:A1 = C1和B1 = D1,然后颜色B1,D1绿色,否则orange.I试着下面的公式得到0或1取决于列中的真或假E.我在VBA中进行颜色代码,因为我的范围会dynamic变化

 =IF(AND(A1=D1,B1=E1),0,1) 

按下Alt + F11。 这会将您带到想要放置VBA代码的位置。 按插入,然后插入一个模块。 打开模块。

input这个:

 Option Explicit 'not necessary but good practice to make sure you define all variables Public Sub highlightCells() Dim i As Long Dim sht As Worksheet Set sht = ThisWorkbook.Worksheets("Sheet1") Dim lastrow As Long 'finds your last row, helps keep it dynamic lastrow = sht.Cells(sht.Rows.Count, "A").End(xlUp).Row For i = 1 To lastrow If (Cells(i, 1).Value = Cells(i, 3).Value) And (Cells(i, 2).Value = Cells(i, 4).Value) Then Cells(i, 2).Interior.Color = RGB(178, 255, 102) 'green Cells(i, 4).Interior.Color = RGB(178, 255, 102) Else Cells(i, 2).Interior.Color = RGB(255, 178, 102) 'orange Cells(i, 4).Interior.Color = RGB(255, 178, 102) End If Next i End Sub 

然后,当你的光标在“Public Sub”和“End Sub”之间时,按F5。 这将运行代码,所以你可以确保它是你在找什么。 接下来,我将解释如何使它成为你的工作表上的一个button…

转到您的Excel电子表格。 在“开发工具”选项卡中,在“Active X”下单击“CommandButton”。 在你的工作表上绘制CommandButton。 双击刚刚画出的button。 在自动出现的代码中,键入

 Module1.highlightCells 

返回到您的Excel工作表,在开发工具栏中,点击“devise模式”。 这将启用/禁用devise模式,允许您使用现在应该工作的button。

另外请记住,我跳过某些被认为是“良好实践”的事情,比如重命名对象等。 如果您需要帮助,请让我知道。 还有一件事,我select了我们自己使用的绿色和橙色的types,但如果你想改变它,你可以使用这里find的RGB(红色,绿色,蓝色)代码: http : //www.rapidtables.com/networking/颜色/ RGB_Color.htm

你可以用正常的条件公式本身来做到这一点。 执行以下步骤。

  1. 点击D,selectD列
  2. 然后点击B,selectB列。
  3. 确保当前单元格或默认值是B1
  4. 点击条件格式选项,在那里select“pipe理规则”
  5. 在条件格式化规则pipe理窗口中,点击新build规则button
  6. 在新的格式化规则窗口中。 select使用公式来确定要格式化的单元格
  7. 在格式值中input= OR($ D1 <> $ B1,$ A1 <> $ C1),其中此公式为true编辑框
  8. select橙色,然后单击确定
  9. 使用= AND($ D1 = $ B1,$ A1 = $ C1)公式和绿色执行5到8的步骤。
  10. 一旦确保将被视为相对单元格并且适用于所有单元格,第3步至关重要。