excelmacros – 只有在给定的string后才需要提取信息

我正在寻找解决scheme,从电子表格中的单元格中提取一些信息,并将其转储到相邻的列中。 每个单元格都包含很多垃圾,但总是以“WX =”模式结尾,后面跟着我想提取的信息。 我想要的信息长度通常在7-10个字母数字字符之间。 是否有任何function已经可以做到这一点,或者我需要一个完全独特的脚本来实现吗?

谢谢你的帮助!

下面的函数将从单元格A1返回“WX =”之后的string:

 =RIGHT(A1, LEN(A1) - (FIND("WX=", A1) + 2)) 

如果你在VBA中这样做,你可以使用VBA Mid函数:

 Mid(Range("A1"), 4) 

语法是:

 Mid(text, start_character, number_of_characters) 

这将返回中间的number_of_characters除非该参数被省略,在这种情况下,它会从指定的start_character位置返回string的其余部分。

所以如果单元格A1包含一个像wx=kladlkjad;kjadsfkjasfd的stringwx=kladlkjad;kjadsfkjasfd那么:

 Mid(Range("A1"), 4, 4) 

会返回: klad ,而

 Mid(Range("A1"), 4) 

会返回kladlkjad;kjadsfkjasfd

Mid函数的工作原理与WorksheetFunction不同,在这种情况下, number_of_characters 不是可选参数,您必须使用Right函数和Len函数,如Soren所示。