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

时间:2014-09-24 16:48:52

标签: excel excel-vba data-extraction vba

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

感谢您的帮助!

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:1)

如果您在VBA中执行此操作,则可以使用VBA Mid函数

Mid(Range("A1"), 4)

语法是:

Mid(text, start_character, number_of_characters)

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

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

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

将返回:klad,而

Mid(Range("A1"), 4)

会返回kladlkjad;kjadsfkjasfd

如果您将Mid函数用作WorksheetFunction,则number_of_characters函数的工作方式不同,在这种情况下,Right NOT 是一个可选参数,您必须使用Len函数和{{1}}函数,如Soren所示。