VBA Excel通配符字符串搜索,复制并粘贴到新单元格

时间:2016-12-29 21:00:48

标签: excel vba excel-vba

我正在寻求帮助以尝试执行以下操作。

我在Excel(100K +行)中有大量数据,其中有许多列,在其中一列中(简单地说就是col A)每个单元格中都有一串数据,列出了指示java安装的文件路径信息。我需要在该字符串中搜索以查找开头和结尾相同的常见字符,但中间会有不同的数据,因此需要使用通配符来识别。在字符串搜索中识别指定列(col A)中每个单元格的数据之后,我需要将标识的数据复制并粘贴到位于数据右侧的不同列(col B)的每一行的同一工作表上。所以看起来像这样:

  

示例

     

COLUMN A (原始数据字符串)
  C:\程序\的Java \ jre7 \ BIN \ ...
  C:\ Program Files(x86)\ Java \ jre6 \ bin \ ...
  C:\程序\ JAVA \ jdk1.7.0._21 \ JRE \ BIN \ ...
  C:\ JAVA \ JDK-1_5_0_16_i586 \ jre \ bin \ ...

     

COLUMN B (复制并粘贴到此处)
  jre7
  JRE6
  jdk1.7.0._21
  JDK-1_5_0_16_i586

需要使用通配符搜索来获取\&amp;之间的任何特定内容。 \以字母 j 开头,后跟两个字母,可以是 re < em> dk 但必须允许字符或数字以任意长度跟随此。类似于\j??*#*\的搜索总是以相同的前两个字符开头,后跟两个字母,然后可能是另一个字符,或者在版本号之前没有任何字符,那么在版本号之后可以没有字符或许多字符。

正如您从示例中看到的那样,我正在尝试使用其中的版本号来获取版本信息,并且不希望通过 jre jdk 只在其中,因为我的大多数数据都在文件路径字符串中的某处列出了这些目录。

然后复制此信息并粘贴到Col B中,如示例所示,这就是我想要做的事情。

任何帮助都会非常感激,因为这是一个手动过程,可以从自动化中受益匪浅。

1 个答案:

答案 0 :(得分:0)

使用公式实际上是一种非常快速的方法。如果你愿意的话,你可以将所有这些组合成一个公式,但我把它分成四个简单的公式,第四个给你答案。

假设第一个字符串在单元格A1中:

B1 = = SEARCH(&#34; java&#34;,A1)

C1 = = FIND(&#34; \&#34;,A1,E1)

D1 = = FIND(&#34; \&#34;,A1,F1 + 1)

E1 = = MID(A1,F1 + 1,G1-F1-1)

E1会有你的答案。自动填充列,然后复制&gt;粘贴E列中的值并删除B-D列。