我看上去很高,我找不到任何适合我的东西。
我在选项卡上有一个值列表,我已经通过for循环。
循环在活动选项卡上找到当前值,在另一个选项卡中导出一些数据 - 这一切都正常。但是我试图在流程中添加一些验证 - 在循环中我想确保当前正在处理的值实际上是我正在玩的范围内的值。如果它是有效值,请执行业务并将单元格更改为绿色,否则,更改为红色并继续下一次迭代。
我知道在我的脑海中我想看看它但我找不到任何可以帮助我做到这一点。
伪代码是
for i=1 to lastRowInRange
if activeCellValue is NOT a value in column N on tab "Data" then
change cell colour red and do nothing else
else
do lots of exporty things
change cell colour to green
next i
我尝试了交叉方法,但无法使其工作
非常感谢任何帮助!
麦克
答案 0 :(得分:1)
我相信下面的代码可以帮助你做你期望的事情,这将在A列中查找值并在列N中搜索该值,如果找到则将该给定单元格的内部颜色设置为绿色(如果未找到)然后进行细胞红:
Sub test()
Dim ws As Worksheet: Set ws = Sheets("Sheet1")
'declare and set your worksheet, amend as required
LastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
'get the last row with data on Column A
For i = 1 To LastRow 'loop from row 1 to last
Set FindValue = Worksheets("Data").Range("N:N").Find(What:=ws.Cells(i, "A"), lookat:=xlWhole)
'above search for value from Column A in Column N of Sheet Data
If FindValue Is Nothing Then 'if not found
ws.Cells(i, "A").Interior.Color = 255 ' not found then make cell Red
Else 'if found
ws.Cells(i, "A").Interior.Color = 5287936 ' found then make cell Green
'do lots of exporty things
End If
Set FindValue = Nothing
Next i
End Sub