簡體   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