VBA:search其他文本中的文本,返回相邻的单元格。 循环这个

我对VBA来说是个很新的东西,他们大部分都是从SO学习,loggingmacros,然后join一些代码(有限的成功)。

在Excel中,我有一列中的string列表让我们调用B,我需要searchA中的string,这是string的另一列,可以包含在B中的string。所以说,我们从B1开始,当它在A中查找带有B1的行,然后返回find的行(从列C)(和列D和E)中的string。

本质上它是一个VLOOKUP(或者我更喜欢INDEXMATCH),而不是lookup_value和lookup_range中的一个单元格完全相等,而是查找lookup_value。

在Excel的公式我可以做到这一点:

=search(A1,B1),B1,IF(ISNUMBER(search(A1,B2),B2,IF(ISNUMBER(search(A1,B3),B3,…)

但是把它放到一个单元格中是不可能的,而且我知道在VBA中做起来更容易。 在VBA中我还不够好。 理想情况下,这样会发生什么,然后会转移到B2并循环,直到findB中的第一个空单元格。

目前不好的尝试:

Sub ATTEMPT() Dim x As String Dim found As Boolean ' Select first line of data. Range("A2").Select ' Set search variable value. x = Range("B929") ' Set Boolean variable "found" to false. found = False ' Set Do loop to stop at empty cell. Do Until IsEmpty(ActiveCell) If InStr(Range("A2:A1000").Value, "BA025") > 0 Then found = True Exit Do End If ' Step down 1 row from present location. ActiveCell.Offset(1, 0).Select Loop End Sub 

我会非常感激任何帮助。 谢谢。