Моя цель изложена ниже:
1. Прокрутка строк на листе (столбец B)
2. Если ячейка содержит более одного адреса электронной почты, извлеките адрес электронной почты и вставьте его в новую строку.(колонка B).Данные, которые мне нужно обработать, могут содержать более 2 адресов электронной почты в ячейке.Все ячейки столбца А будут содержать одинаковые данные.По сути, каждая ячейка в столбце B должна содержать только один адрес электронной почты.
3. Удалить все строки с дублирующимися адресами.
4. Удалить все «ненужные» данные (## Receive, Deliver)
В приведенном ниже примере примера электронная почта example3 и электронная почта example4 должны быть вырезаны / вставлены в свои собственные строки, а пример 5 останется.В настоящее время мой код размещает все пустые строки сверху.У меня нет решения для вырезания / вставки строк в новую пустую строку.У меня также нет решения для удаления повторяющихся строк.
Sub FormatMessageTrace()
Dim a As Range
Dim b As Range
Dim str As String
Dim openPos As Integer
Dim closePos As Integer
Dim midBit As String
Set a = Selection
On Error Resume Next
For Each b In a.Rows
str = b.Value
openPos = InStr(str, "")
closePos = InStr(str, ";")
midBit = Mid(str, openPos, closePos - openPos + 1)
ActiveCell.EntireRow.Insert shift:=xlDown
b.Replace midBit, ""
Next
Worksheets("Sheet2").Columns("B").Replace _
What:="##Receive, Deliver", Replacement:="", _
SearchOrder:=xlByColumns, MatchCase:=True
End Sub
Пример данных: 