AI 列中有提及公司名称的并购交易描述。BI 列中有公司名称,我希望查看 A 列中提及每家公司的名称的位置。
我遇到的问题:B 列中的某些字符串将作为子字符串出现在 A 列中多次,并且我想返回所有实例,而不仅仅是一个。
答案1
尝试这个相当小的宏:
Sub DataLocator()
Dim nA As Long, nB As Long, i As Long, j As Long, k As Long
Dim v As String
nA = Cells(Rows.Count, "A").End(xlUp).Row
nB = Cells(Rows.Count, "B").End(xlUp).Row
For i = 1 To nB
v = Cells(i, "B").Value
k = 3
For j = 1 To nA
If InStr(1, Cells(j, "A").Value, v) > 0 Then
Cells(i, k).Value = Cells(j, "A").Address(0, 0)
k = k + 1
End If
Next j
Next i
End Sub
例如:
宏的安装和使用非常容易:
- ALT-F11 打开 VBE 窗口
- ALT-I ALT-M 打开新模块
- 粘贴内容并关闭 VBE 窗口
如果您保存工作簿,宏将随之保存。如果您使用的是 2003 以后的 Excel 版本,则必须将文件保存为 .xlsm 而不是 .xlsx
要删除宏:
- 调出如上所示的 VBE 窗口
- 清除代码
- 关闭 VBE 窗口
要使用 Excel 中的宏:
- ALT-F8
- 选择宏
- 触摸运行
要了解有关宏的更多信息,请参阅:
http://www.mvps.org/dmcritchie/excel/getstarted.htm
和
http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx
必须启用宏才能使其工作!