首页 > 解决方案 > 循环以从 Excel VBA 中的单个字符串中提取两个不同的字符串

问题描述

我在 excel 中收到了 html 文本,我只是想从中提取一些文本。

我在单元格 A1 中有以下文本:

<b>From:</b></p>  </td>  
<td width=760 colspan=10 valign=bottom 
     style='width:380.0pt;padding:0in 0in 0in 0in;  height:9.05pt'>  
<p class=MsoNormal><a href="mailto:name@email.com">LastName, First</a></p>  
</td> </tr>

我想提取“name@email.com”和“LastName,First”并将它们分别放入单元格 B1 和 C1。我需要将其循环通过多个单元格,因此我需要考虑字符串的长度不同。

对于更多上下文,这个先前的线程为我正在尝试做的事情提供了一个很好的基础,但我被困在如何继续进行,因为我正在拉动长度和内容不同的字符串。

标签: excelvbastringextract

解决方案


使用A1中的字符串,在B1中输入:

=LEFT(MID(A1,FIND("mailto:",A1)+7,9999),FIND(CHAR(34),MID(A1,FIND("mailto:",A1)+7,9999))-1)

并在C1中输入:

=LEFT(MID(A1,FIND(B1,A1)+LEN(B1)+2,9999),FIND("<",MID(A1,FIND(B1,A1)+LEN(B1)+2,9999))-1)

例如:

在此处输入图像描述


推荐阅读