У меня проблема с Excel.
У меня есть список писем. В этих сообщениях я хочу найти конкретные данные (номера счетов) и перечислить их в следующих столбцах (если они найдены), просто записав их имена.
Список учетных записей, которые я хочу найти, находится в другой электронной таблице («список учетных записей»).
Могу ли я сделать это с помощью некоторой простой функции (формулы массива на моем компьютере работают очень медленно и могут заставить мой excel «не отвечать») или с помощью кода VBA?
Ниже приведена ссылка на файл Excel с некоторыми примерами данных.
Буду очень признателен за помощь и совет! К сожалению, я не могу найти решение этой проблемы ...
https://uploadfiles.io/pfizs
Ссылка на файл Excel
С уважением,
Mike
Дорогие все,
Я получил решение, которым хочу поделиться с вами:
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