列出在字符串中找到的值(函数或VBA)

时间:2019-01-12 10:11:27

标签: arrays vba string find

我对Excel有问题。 我有一封电子邮件清单。在这些消息中,我想查找特定的数据(帐号),并通过写下它们的名称在下一列(如果找到)中列出它们。 我要查找的帐户列表在另一个电子表格中(“帐户列表”)。

我可以通过一些简单的功能(数组公式在我的PC上运行很慢,并使我的excel无法响应)还是VBA代码吗?

请在下面找到带有一些示例数据的excel文件的链接。

我将非常感谢您的帮助和建议!不幸的是,我找不到解决此问题的方法... https://uploadfiles.io/pfizs Link to excel file

亲切的问候, 迈克

亲爱的, 我收到了一个解决方案,想与您分享:

Sub FindAccount()
    Application.ScreenUpdating = False
    Dim ws1 As Worksheet, ws2 As Worksheet, rng1 As Range, rng2 As Range
    Set rngList = CreateObject("Scripting.Dictionary")
    Set ws1 = Sheets("sample messages")
    Set ws2 = Sheets("account list")
    Dim i&, v1 As Range, v2 As Range, fn
    Set v1 = ws1.Range("F2", ws1.Range("F" & Rows.Count).End(xlUp))
    Set v2 = ws2.Range("A1", ws2.Range("A" & Rows.Count).End(xlUp))
    For Each rng2 In v2
        For Each rng1 In v1
            If InStr(1, rng1, rng2) > 0 Then
                ws1.Cells(rng1.Row, 7) = Trim(Mid(ws1.Cells(rng1.Row, 7) & ", " & rng2, 2, 9999))
            End If
        Next rng1
    Next rng2
    Application.ScreenUpdating = True
End Sub

0 个答案:

没有答案