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

时间:2014-08-11 16:03:17

标签: excel vba excel-vba

我是VBA的新手,并且大部分都是从SO学习,录制宏,然后加入一些代码(成效有限)。

在Excel中,我在一列中有一个字符串列表,让我们调用B,我需要在A中搜索该字符串,这是另一列字符串,可以包含B中的字符串。所以说我们从B1开始当它在A中找到带有B1的行时,它会返回找到它的行中的字符串(来自C列)(和D列和E列)。

本质上它是一个VLOOKUP(或者我更喜欢INDEXMATCH)但是,而不是lookup_value完全等于lookup_range中的一个单元格,它会搜索lookup_value。

在excel公式中,我可以这样做:

= IF(ISNUMBER(搜索(A1,B1),B1,IF(ISNUMBER(搜索(A1,B2),B2,IF(ISNUMBER(搜索(A1,B3),B3,.....

但它不可能融入一个单元格,我知道它在VBA中更容易做到;我在VBA中表现不够好。 理想情况下,然后会发生什么,然后它会移动到B2并循环,直到它找到B中的第一个空单元格。

目前的不良尝试:

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

我将非常感谢任何帮助。 感谢。

0 个答案:

没有答案