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所示。