我正在尝试将列(column1)的每个单元格与另一列(column2)中的所有单元格进行比较,如果该值存在于column2中。并且如果它存在于column1中,而clumn3中的同一行则显示为“ TRADABLE
”以突出显示它。
使用此代码,它仅将值与r2比较,而不与整个列r比较,而且我不知道如何更改
Sub mark_cells()
ActiveSheet.Range("D2").Select
Do Until ActiveCell.Value = ""
If ActiveCell.Value = Range("R2").Value And ActiveCell.Offset(0, -2).Value = "TRADABLE" Then
ActiveCell.Interior.ColorIndex = 46
End If
ActiveCell.Offset(1, 0).Select
Loop
答案 0 :(得分:0)
您可以使用工作表匹配公式来做到这一点。
Sub mark_cells()
dim i as long
with activesheet
for i =2 to .cells(.rows.count, "D").end(xlup).row
if not iserror(application.match(.cells(i, "D").value, .range("R:R"), 0)) and _
ucase(.cells(i, "B").value2) = "TRADABLE" then
.cells(i, "D").Interior.ColorIndex = 46
end if
next i
end with
end sub
更动态的方法是条件格式设置规则。
Sub mark_cells()
With activesheet.range(.cells(2, "D"), .cells(.rows.count, "D").end(xlup))
.FormatConditions.Delete
.FormatConditions.Add Type:=xlExpression, Formula1:="=and(C2="TRADABLE", isnumber(match(d2, r:r, 0)))"
.FormatConditions(.FormatConditions.Count).Interior.ColorIndex = 46
End With
end sub
答案 1 :(得分:0)
将以下公式插入c1
:=if(countif(a:a;b1) >=1; "Tradable"; "")
并将其粘贴粘贴到下面的单元格中。