【发布时间】:2017-10-19 08:18:40
【问题描述】:
我正在寻找一个 vba 代码,用于确定列的单元格中是否包含(不完全匹配)字符串数组。我有一个虚假电子邮件列表,存储在 A1:A3242 上的“Helper”工作表中,在工作表 JP 中,我有我想要检查的电子邮件列表(I:I)。
如果在第 2 列中找到来自第一个列表的电子邮件,我需要将该行涂成黄色。
Dim list As Variant, FF As Long, qq As Long
list = Sheets("Helper").Range("A1:A3242").Value
FF = Range("I" & Rows.count).End(xlUp).Row
For qq = 1 To FF
If InStr(1, list, cell.Value) <> 0 Then
Range("I" & qq).EntireRow.Interior.Color = vbRed
End If
Next qq
End Sub
我真的是 VBA 新手,我不知道这是否正确,我收到错误“需要 424 对象”,任何帮助将不胜感激,提前谢谢你:)
【问题讨论】:
-
你还没有声明你的变量
cell。 (这就是为什么您会收到“需要对象”错误的原因 - 只有对象或用户定义类型在变量名之后才会有类似.Value的内容。)但是您也无法执行Instron一个数组。 -
答案可能会使用
If Not IsError(Application.Match(Cells(qq, "I").Value, list, 0)) Then,但我不是Match的出口,所以我会让其他人回答。 -
@YowE3K 这是一个提示吗? ;)
-
@ShaiRado 形式的提示“这是可能工作的东西,但我太累和懒得实际测试它以确保我不会让自己尴尬将其发布为答案”