Я пытаюсь создать функцию, подобную = Extractinfo ("A2", "Name"), которая может извлекать имя, телефон и идентификатор электронной почты из необработанных данных, одну функцию для всех 3 извлечений, у меня уже есть функция дляизвлечь идентификатор электронной почты
Raw Data
"Name":"Ram","Phone":"9898989898","Email":"abcd@gmail.com"
"Name":"Raju","Phone":"2323232323","Email":"xyz123@gmail.com"
"Name":"Rameshsing","Phone":"555999999","Email":"rameshsing@gmail.com"
(Function to extract) (Expected Result)
=Extractinfo("A2","Name") Ram
=Extractinfo("A2","Name") Raju
=Extractinfo("A4","Name") Rameshsing
Function ExtractEmailFun(extractStr As String) As String
Dim CharList As String
On Error Resume Next
CheckStr = "[A-Za-z0-9._-]"
OutStr = ""
Index = 1
Do While True
Index1 = VBA.InStr(Index, extractStr, "@")
getStr = ""
If Index1 > 0 Then
For p = Index1 - 1 To 1 Step -1
If Mid(extractStr, p, 1) Like CheckStr Then
getStr = Mid(extractStr, p, 1) & getStr
Else
Exit For
End If
Next
getStr = getStr & "@"
For p = Index1 + 1 To Len(extractStr)
If Mid(extractStr, p, 1) Like CheckStr Then
getStr = getStr & Mid(extractStr, p, 1)
Else
Exit For
End If
Next
Index = Index1 + 1
If OutStr = "" Then
OutStr = getStr
Else
OutStr = OutStr & Chr(10) & getStr
End If
Else
Exit Do
End If
Loop
ExtractEmailFun = OutStr
End Function