vlookup与VBA到PERSONAL.xlsb

时间:2014-03-11 18:30:15

标签: excel-vba range vlookup vba excel

我经常不得不使用vlookup查找与代码关联的公司名称。我已经有一张excel表,其中包含代码和相应的公司名称。为了简化我的任务,我正在尝试创建一个函数i,我只需要指示代码,然后返回公司名称。

如果可能的话,我希望将表格放在PERSONAL.XLSB sheet1!中,因为我已经有了一些宏。 A栏有公司代码,B栏有公司名称。

我正在尝试使用以下内容,但我一直无处可去,因为我似乎无法正确定义范围

Function Company_name(Company_Code As Integer)

Company_name = Application.WorksheetFunction.VLookup(Company_Code, [PERSONAL.XLSB]Sheet1!$A:$B, 2, False)

End Function

我希望它工作的方式是,我选择Company_Code = 100,该函数返回公司名称“Asus”。 Company_Code = 200它应该返回公司名称“Acer”,依此类推。

我的问题是我无法使代码正常工作。

任何人都可以帮助我吗?

提前致谢

1 个答案:

答案 0 :(得分:0)

这样的事情:

Function Company_name(Company_Code As Integer)
    Dim rv
    rv = Application.VLookup(Company_Code, _
        Workbooks("Personal.xlsb").Sheets("Sheet1").Range("A:B"), 2, False)

    If IsError(rv) Then rv = "???"
    Company_name = rv

End Function