excel宏-只需在给定字符串后提取信息

excel宏-只需在给定字符串后提取信息,excel,data-extraction,vba,Excel,Data Extraction,Vba,我正在寻找一种解决方案,从电子表格的单元格中提取一些信息,并将其转储到相邻的列中。每个单元格都包含大量垃圾,但总是以模式“WX=”结尾,后面是我想提取的信息。我想要的信息长度通常在7-10个字母数字字符之间。是否有任何功能已经可以做到这一点,或者我需要一个完全独特的脚本来实现这一点 谢谢你的帮助 下面的函数将返回“WX=”from cellA1之后的字符串: =RIGHT(A1, LEN(A1) - (FIND("WX=", A1) + 2)) 下面的函数将返回“WX=”from cellA1

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


谢谢你的帮助

下面的函数将返回“WX=”from cell
A1
之后的字符串:

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

下面的函数将返回“WX=”from cell
A1
之后的字符串:

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

下面的函数将返回“WX=”from cell
A1
之后的字符串:

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

下面的函数将返回“WX=”from cell
A1
之后的字符串:

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

如果在VBA中执行此操作,则可以使用VBA
Mid
功能

Mid(Range("A1"), 4)
语法是:

Mid(text, start_character, number_of_characters)
这将返回中间的
字符数
,除非省略该参数,在这种情况下,它将从指定的
起始字符
位置返回字符串的其余部分

因此,如果单元格
A1
包含类似
wx=kladlkjad的字符串;kjadsfkjasfd
然后:

Mid(Range("A1"), 4, 4)
将返回:
klad
,而

Mid(Range("A1"), 4)
将返回
kladlkjad;kjadsfkjasfd


如果将
Mid
函数作为工作表函数执行,则其工作方式不同,在这种情况下,
字符数
不是一个可选参数,您必须使用Soren所示的
功能和
Len
功能。

如果在VBA中执行此操作,您可以使用VBA
Mid
功能

Mid(Range("A1"), 4)
语法是:

Mid(text, start_character, number_of_characters)
这将返回中间的
字符数
,除非省略该参数,在这种情况下,它将从指定的
起始字符
位置返回字符串的其余部分

因此,如果单元格
A1
包含类似
wx=kladlkjad的字符串;kjadsfkjasfd
然后:

Mid(Range("A1"), 4, 4)
将返回:
klad
,而

Mid(Range("A1"), 4)
将返回
kladlkjad;kjadsfkjasfd


如果将
Mid
函数作为工作表函数执行,则其工作方式不同,在这种情况下,
字符数
不是一个可选参数,您必须使用Soren所示的
功能和
Len
功能。

如果在VBA中执行此操作,您可以使用VBA
Mid
功能

Mid(Range("A1"), 4)
语法是:

Mid(text, start_character, number_of_characters)
这将返回中间的
字符数
,除非省略该参数,在这种情况下,它将从指定的
起始字符
位置返回字符串的其余部分

因此,如果单元格
A1
包含类似
wx=kladlkjad的字符串;kjadsfkjasfd
然后:

Mid(Range("A1"), 4, 4)
将返回:
klad
,而

Mid(Range("A1"), 4)
将返回
kladlkjad;kjadsfkjasfd


如果将
Mid
函数作为工作表函数执行,则其工作方式不同,在这种情况下,
字符数
不是一个可选参数,您必须使用Soren所示的
功能和
Len
功能。

如果在VBA中执行此操作,您可以使用VBA
Mid
功能

Mid(Range("A1"), 4)
语法是:

Mid(text, start_character, number_of_characters)
这将返回中间的
字符数
,除非省略该参数,在这种情况下,它将从指定的
起始字符
位置返回字符串的其余部分

因此,如果单元格
A1
包含类似
wx=kladlkjad的字符串;kjadsfkjasfd
然后:

Mid(Range("A1"), 4, 4)
将返回:
klad
,而

Mid(Range("A1"), 4)
将返回
kladlkjad;kjadsfkjasfd


如果您将
Mid
功能作为工作表功能使用,则其工作方式不同,在这种情况下,
字符数
不是一个可选参数,您必须使用
Right
功能和
Len
功能,如Soren所示。

非常感谢!我无法将此应用于整个列。这是因为只有部分单元格包含字符串吗?我用A:A替换了所有A1,但没有得到预期的结果。如您所见,我是一个初学者……如果您已经在单元格
B1
中编写了上述代码,那么您应该沿着列
a
中的内容向下拖动函数。这样,单元格
B2
中的值将从单元格
A2
中找到字符串,
B3
将在
A3
中找到字符串,依此类推。多么尴尬啊。我已经失业好几个月了,甚至忘记了这么简单的事情!再次感谢!没问题。如果答案对您有效,请接受…:)谢谢!我无法将此应用于整个列。这是因为只有部分单元格包含字符串吗?我用A:A替换了所有A1,但没有得到预期的结果。如您所见,我是一个初学者……如果您已经在单元格
B1
中编写了上述代码,那么您应该沿着列
a
中的内容向下拖动函数。这样,单元格
B2
中的值将从单元格
A2
中找到字符串,
B3
将在
A3
中找到字符串,依此类推。多么尴尬啊。我已经失业好几个月了,甚至忘记了这么简单的事情!再次感谢!没问题。如果答案对您有效,请接受…:)谢谢!我无法将此应用于整个列。这是因为只有部分单元格包含字符串吗?我用A:A替换了所有A1,但没有得到预期的结果。正如你所看到的,我是一个初学者……如果你已经在上面的代码中写了,比如说,cell
B1
t