将值赋给userform框时有多个vlookup语句

时间:2018-04-25 14:21:05

标签: excel-vba vlookup userform vba excel

早上好,

我创建了一个用户表单,用户可以在其中查找某人的姓名,并返回(除其他外)他们的地址。用于地址查找的语句如下:

.Address = Application.WorksheetFunction.VLookup(Me.Name1, _
Worksheets("Caselist").Range("Lookup"), 10, 0)

这很好用。从那时起,我将地址单元格拆分为3个单独的单元格(Street,City,Zip)。在将它们添加到Userform之前,我想将所有3个单元格中的值组合起来,这样用户就可以看到完整的地址。我试过这样的声明:

.Address = Application.WorksheetFunction.VLookup(Me.Name1,Worksheets("Caselist") _ 
.Range("Lookup"), 10, 0) & _ 
Application.WorksheetFunction.VLookup(Me.Name1,Worksheets("Caselist") _ 
.Range("Lookup"), 11, 0) & " MI, " & _
Application.WorksheetFunction.VLookup(Me.Name1,Worksheets("Caselist") _
.Range("Lookup"), 12, 0)

我知道很难看,但它本质上是使用“&”连接在一起的3个Vlookup语句创建一个字符串。当我尝试这个时,我收到以下错误

“无法获取WorksheetFunction类的VLookup属性”

我还没有找到任何方法在线成功格式化。任何想法如何做到这一点?

1 个答案:

答案 0 :(得分:2)

我90%确定您的命名范围Lookup未扩展到第11和第12列。尝试使用Application.WorksheetFunction.Vlookup并要求返回列超出范围将返回

  

运行时错误'1004' - 无法获取WorksheetFunction类的VLookup属性。

这是在代码中使用命名范围的困境之一 - 它不是您在调试时可以清楚看到的东西,而且您收到的错误相当模糊:)。