vba如何匹配相邻单元格中的范围和返回值的单元格?

时间:2016-04-19 16:03:32

标签: excel vba

请原谅我缺乏编码语言,我只是进入vba编码。 我有一个制造商(名称)列表,其中包含我希望在我的" SPECSHEET"选择制造商时自动选择

工作表" SPECSHEET"完全是从宏开始创建的。

工作表"联系人"在A列中有一个名单,在C列中有一个电话号码

工作表"数据表"保存有关每个灯具的信息。

我成功地展示了正确的制造商名称:

Worksheets("SPECSHEET").Cells(Company, 5).Value = Worksheets("DATASHEET").Cells(1, 5).Value

但我喜欢下面的行显示电话号码:

If Worksheets("SPECSHEET").Cells(3, 4).Value = Worksheets("CONTACT").Range(A:A).Value Then
Worksheets("SPECSHEET").Cells(3, 5).Value = Worksheets("CONTACT").Cells(B "name adjacent to the matched name in column A) 
End If

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

试试这个:

Dim t
t = Application.Match(Worksheets("SPECSHEET").Cells(3, 4).Value, Worksheets("CONTACT").Range("A:A"), 0)
If Not IsError(t) Then
    Worksheets("SPECSHEET").Cells(3, 5).Value = Worksheets("CONTACT").Range("B" & t)
Else
    Worksheets("SPECSHEET").Cells(3, 5).Value = "Not Found"
End If

它使用工作表函数MATCH()来查找行,然后返回该行的B列中的值。如果未找到,则返回Not Found