Я пытаюсь написать цикл Do, который входит в длинную строку и возвращает место пробела перед адресом электронной почты и место пробела после.Используя InStr (), я смог найти конец адреса электронной почты.Теперь мне нужно найти начало, а затем использовать Mid (), чтобы вытащить адрес.Я вижу, что InStrRev () должен начинаться в конце строки, а затем искать, но, глядя на реальные руководства, кажется, что он просто дает второй экземпляр символа.Например:
Моя строка:
пожалуйста, напишите мне по электронной почте.Мой E-Mail: fake@gmail.com Если вы не можете это сделать, позвоните мне.
То, что я сделал до сих пор, возвращает место символа @, в данном случае 42. Затем я использовал InStr (), чтобы вернуть место первого "" после символа @.В данном случае это 52. Я хочу вернуть место первого "" ДО @.В этом случае должно быть 37. Мой план - использовать Mid (37, 15).Пятнадцать - разница 52 и 37. Я пытался использовать InStrRev (), чтобы вернуть 37, но не могу заставить его работать.Какие-либо предложения?ниже мой код.
x = 2
Do
Cells(x, 11).Select
Cells(x, 11).Value = (InStrRev(Cells(x, 9), Cells(x, 2), " "))
x = x + 1
On Error Resume Next
Loop Until Cells(x, 2).Value = ""
Где (x, 9) - место символа @, а (x, 2) - строка.