我是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
我将非常感谢任何帮助。 感谢。