Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 从excel单元格中删除特定关键字后的数据_Vba_Excel_Excel Formula - Fatal编程技术网

Vba 从excel单元格中删除特定关键字后的数据

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

我的excel单元格中有一些数据,如

“35 xxxxxx,yyyy,zzzzz 1AA 致电01234 567899 XXXXXXXXXXXX _突出显示01234 567899免费端_ _skype _突出显示联系人代理位于bla bla bla bla bla bla bla的中心,他们…更多“

我想删除呼叫01234 567899后出现的所有数据。这里的数字不是固定的。电话号码交换到每个手机 如何删除所有数据

谢谢
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)