Vba 从excel单元格中删除特定关键字后的数据
我的excel单元格中有一些数据,如 “35 xxxxxx,yyyy,zzzzz 1AA 致电01234 567899 XXXXXXXXXXXX _突出显示01234 567899免费端_ _skype _突出显示联系人代理位于bla bla bla bla bla bla bla的中心,他们…更多“ 我想删除呼叫01234 567899后出现的所有数据。这里的数字不是固定的。电话号码交换到每个手机 如何删除所有数据 谢谢Vba 从excel单元格中删除特定关键字后的数据,vba,excel,excel-formula,Vba,Excel,Excel Formula,我的excel单元格中有一些数据,如 “35 xxxxxx,yyyy,zzzzz 1AA 致电01234 567899 XXXXXXXXXXXX _突出显示01234 567899免费端_ _skype _突出显示联系人代理位于bla bla bla bla bla bla bla的中心,他们…更多“ 我想删除呼叫01234 567899后出现的所有数据。这里的数字不是固定的。电话号码交换到每个手机 如何删除所有数据 谢谢 Narasappa。您可能必须依赖正则表达式库,或者编写一个使用Inst
Narasappa。您可能必须依赖正则表达式库,或者编写一个使用Instr查找调用的函数,将所有内容追加到一个临时字符串的左边,然后迭代一系列数字。下一步,当您阅读完这些系列之后,从该点开始对原始字符串使用mid函数,基本上跳过子“call”字符串。它可能会变得笨重,并且容易出错 我的建议是使用正则表达式,因为以下内容应该可以使用:
sString = "35 xxxxxx, yyyy, zzzzz 1AA Call 01234 567899 xxxxxxxxxxxxx_highlighting 01234 567899 FREE end_of_the_skype_highlighting Contact agent Ideally located in the centre of bla bla bla bla bla, they ... more"
Set regEx = CreateObject("VBScript.RegExp")
regEx.Pattern = "Call\s\d+\s\d+"
msgbox regEx.Replace(sString, "")
查看
LEFT
和SEARCH
,=LEFT(A1,SEARCH(“Call 01234 567899”,A1)-1)
领域中的某些东西应该可以完成这项工作。谢谢,但我在通话后出现的号码不是固定的,它们是可变的。我得到的答案是这样的=LEFT(A1,FIND(“Call”),A1)-1)=MID(A1,FIND(“Call”,A1)+4,14)