繁体   English   中英

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

[英]VBA Excel wildcard string search, copy and paste to new cell

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

我在Excel中有大量数据(超过10万行),其中有许多列,在其中一列(仅说col A)中,每个单元格中都有一串数据,其中列出了指示Java安装的文件路径信息。 我需要在该字符串中进行搜索,以找到以相同的开头和结尾但在中间会有不同数据的常见字符,因此需要使用通配符来识别。 在针对指定列(col A)中的每个单元格确定了字符串搜索中的数据之后,我需要将识别出的数据复制并粘贴到位于同一行中每一行数据(col B)正对的另一列中。 所以看起来像这样:

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

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

需要通配符搜索来拾取\\&\\之间以字母j开头的特定内容,然后是两个字母,可以是redk,但必须允许字符或数字以任意长度跟随。 将会是\\j??*#*\\ ,因为搜索总是以相同的前两个字符开头,然后是两个字母,然后可能是另一个字符,或者版本号之前根本没有任何字符,然后在后面可能没有字符或很多版本号。

从示例中可以看到,我试图获取其中包含版本号的版本信息,并且不希望仅在其中包含jrejdk来获取目录信息,因为大多数数据都将这些目录列出在文件路径中的某个位置串。

然后复制此信息并将其粘贴到Col B中,如示例所示,这是我要尝试执行的操作。

任何帮助将不胜感激,因为这是一个手动过程,将从自动化中受益匪浅。

实际上,有一种使用公式执行此操作的快速方法。 如果愿意,可以将所有这些合并为一个公式,但是我将其扩展为四个简单的公式,第四个为您提供了答案。

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

B1 = = SEARCH(“ java”,A1)

C1 = = FIND(“ \\”,A1,E1)

D1 = = FIND(“ \\”,A1,F1 + 1)

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

E1将有您的答案。 自动填充列,然后在E列中复制>粘贴值并删除BD列。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM