我在excel中有数据如下
A B C D
sam 9.8 sam 1
kev 0.1 kev 0.1
ashl 2 ashl 2
kris 5.5 kris 3
我尝试着色代码B,D如果例如:A1 = C1且B1 = D1则颜色B1,D1绿色否则橙色。我尝试下面的公式得到0或1依赖于真或假E列。如何在VBA中继续使用颜色代码,因为我的范围将动态变化
=IF(AND(A1=D1,B1=E1),0,1)
答案 0 :(得分:0)
按Alt + F11。这会将您带到您想要放置VBA代码的位置。按插入,然后插入模块。打开模块。
输入:
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"之间的任何地方。和"结束子"按F5。这将运行代码,以便您可以确保它是您正在寻找的。接下来,我将解释如何在工作表上创建一个按钮......
转到您的Excel电子表格。在Developer选项卡中,转到,在Active X下单击CommandButton。在工作表上的任何位置绘制CommandButton。双击刚绘制的按钮。在自动显示的代码中,键入
Module1.highlightCells
返回Excel工作表,在“开发人员”选项卡中,单击“"设计模式"”。这将启用/禁用设计模式,允许您使用现在应该工作的按钮。
另外,请记住,我跳过某些被认为是"良好做法"的事情,比如重命名对象等。如果您也需要帮助,请告诉我。还有一件事,我选择了我们自己使用的绿色和橙色类型,但如果您想要更改它,可以使用此处的RGB(红色,绿色,蓝色)代码:http://www.rapidtables.com/web/color/RGB_Color.htm
答案 1 :(得分:0)
您可以使用常规条件公式本身执行此操作。执行以下步骤。