在InStr中使用数组 [英] Using an array in InStr

查看:31
本文介绍了在InStr中使用数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在寻找一个VBA代码,用于确定列的单元格中是否包含(不完全匹配)字符串数组。我有一个假电子邮件列表存储在A1:A3242的工作表"Helper"中,在工作表JP中我有我想要检查的电子邮件列表(I:I)。

如果在第二列中找到第一个列表中的电子邮件,我需要将该行涂成黄色。

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 Object Required"(需要424对象),如果有任何帮助,我将不胜感激,提前谢谢您:)

推荐答案

 Function GetDomain(s as String) as String
Dim x as Integer
X = instr(s,"@")
If x=0 then
     GetDomain = s
Else
     GetDomain = right(s,len(s)-x)
End IF
End Function

然后将您的字符串环绕此函数:

     If Not IsError(Application.Match(GetDomain(.Range("I" & qq).Value), list, 0))

(应可用,未测试)

这篇关于在InStr中使用数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆