【发布时间】:2021-07-14 00:45:13
【问题描述】:
我有一个单元格,其中包含要过滤特定文本(预过滤)的数据。只想用符合特殊单元格数组的单元格值突出显示特定单元格。
Sub EmailDataPrep()
Dim r As Range
Dim lastrow As Long
Dim MyArray() As Variant
MyArray = Range("F3:F200")
currow = Sheets("Current_Emails").Range("F3")
lastrow = Cells(Rows.Count, "F3").End(xlUp).row
For Each r In Range("F" & currow & "F" & lastrow)
If r.Value = MyArray Then
r.Interior.Color = "Green"
End If
Next r
End Sub
【问题讨论】:
-
你的代码做错了什么?
-
很多代码中的问题。
MyArray = Range("F3.F200")将失败,应该是:而不是.currow = Range("F3")隐式引用ActiveSheet。.MyArray没有意义,为什么是句号?Cells.Interior.Color = "Green"是所有单元格。缺少End If。您不能将单个单元格的值与数组进行比较。您需要一个循环或Application.Match,与数组一起使用时会很慢。 -
它与我们的 r 一样给出错误。
-
我现在修改代码如下。
-
If r.Value = MyArray Then无效。您不能像这样直接将单个单元格与数组进行比较。
标签: arrays vba foreach formatting range