Vba 用于在行中搜索特定值并获取相应单元格的公式

Vba 用于在行中搜索特定值并获取相应单元格的公式,vba,excel,excel-formula,excel-2010,Vba,Excel,Excel Formula,Excel 2010,我试图编写一个公式来搜索某个范围(列中的某个范围)内的所有单元格,获取与某个值匹配的任何单元格的行id,然后从不同的列中获取(匹配的所有单元格的)值 比如: A B 1 ABC 123 2 DEF 456 3 GHI 789 4 ABC 100 现在我需要的是在A1:A4中查找“ABC”,它将返回A1和A4,得到B1和B4的值。我想不出来 我知道我可以在VBA中完成这项工作。但它不会像公式那样随着变化而更新 For i = 2 To Excel.

我试图编写一个公式来搜索某个范围(列中的某个范围)内的所有单元格,获取与某个值匹配的任何单元格的行id,然后从不同的列中获取(匹配的所有单元格的)值

比如:

    A     B
1   ABC   123
2   DEF   456
3   GHI   789
4   ABC   100
现在我需要的是在A1:A4中查找“ABC”,它将返回A1和A4,得到B1和B4的值。我想不出来

我知道我可以在VBA中完成这项工作。但它不会像公式那样随着变化而更新

For i = 2 To Excel.WorksheetFunction.CountA(Range("A:A"))
    If Range("A" & i).Value = "ABC" Then
        MsgBox Range("B" & i).Value
    End If
Next I

此代码在“A”列中查找值“ABC”,并返回“B”列行值。

如何/在何处输入“问题”(例如“ABC”),以及如何显示输出?您的电子表格还有更多内容……此外,如果您知道从何处开始,最好尝试一下,然后带着您尝试过的内容和遇到的具体问题回来。看。欢迎来到SO!你说的如何/在哪里是什么意思?输出将以公式数组的形式显示在一系列单元格中。@Alex我的意思是1)如何捕获输入?例如,您是否将其键入单元格F1?2) 您希望在哪里查看输出?如果input=“ABC”,您是否在C1中显示“123”,在C4中显示“100”?或者在某个地方显示合并到单个单元格中的值,如“123100”?您的代码可能会工作,但同样,我的VBA问题是,如果使用“ABC”编辑另一行,它不会自动更新。