Vba:如何提取两个字符之间的文本
您可以在 VBA 中创建以下自定义函数来提取两个特定字符之间的文本:
Function ExtractBetween(this_text, start_char, end_char) StartPosition = InStr(this_text, start_char) EndPosition = InStr(this_text, end_char) ExtractBetween = Mid(this_text, StartPosition + 1, EndPosition - StartPosition - 1) End Function
然后,您可以使用此函数将两个特定字符之间的文本提取为 Excel 中的特定字符。
下面的例子展示了如何在实际中使用这个功能。
示例:使用 VBA 提取两个字符之间的文本
假设我们在Excel中有以下数据集,其中包含一家公司各种产品的ID值和总销售额:
假设我们要使用 VBA 提取 A 列中每个单元格括号中的文本,并在 C 列中返回结果。
我们可以创建以下函数来执行此操作:
Function ExtractBetween(this_text, start_char, end_char) StartPosition = InStr(this_text, start_char) EndPosition = InStr(this_text, end_char) ExtractBetween = Mid(this_text, StartPosition + 1, EndPosition - StartPosition - 1) End Function
然后,我们可以在单元格C2中键入以下公式,以提取单元格A2中文本的括号中的文本:
=ExtractBetween( A2 , "(", ")")
然后我们可以单击此公式并将其拖动到 C 列中的每个剩余单元格:
现在,C 列在 A 列中每个匹配单元格的括号中显示文本。
注意:此公式的工作原理是使用 VBA 中的Instr函数提取特定开始和结束字符的位置,然后使用Mid函数返回这两个字符之间的所有文本。
其他资源
以下教程说明如何使用 VBA 执行其他常见任务:
VBA:如何计算字符串中字符的出现次数
VBA:如何检查一个字符串是否包含另一个字符串
VBA:如何计算具有特定文本的单元格