无法获取WorksheetFunction类的错误1004的VLookup属性

时间:2016-07-15 09:35:00

标签: excel vba excel-vba ms-access vlookup

我正在尝试向Access发送查询以填写我的工作表的某个值。我将通过获取当前用户的登录名并查看列来获取此工作表。此列根据访问中的列进行更新。我需要的值是在我搜索的列右侧的列中。我将下面的代码作为临时试用来让我的VLookup工作

Private Sub CommandButton1_Click()
    Dim user, cUser As String
    user = (Environ$("Username"))
    cUser = Application.WorksheetFunction.VLookup(user, Worksheets("Sheet1").Range("C2:C1000"), -2, False)
    Worksheets("Sheet1").Range("F1").Value = cUser
    End Sub

我正在尝试将我需要的值输入到单元格F1中。如果这样可行,我会将值放入变量并将其添加到我的查询中。我还会插入错误处理以确保代码继续工作,但是现在我只想让它处理我知道的列中的1值。

1 个答案:

答案 0 :(得分:1)

试试这个:

Private Sub CommandButton1_Click()
    Dim user As String, cUser As String '// Note you have to declare the type each time!
    user = Environ$("USERNAME")
    cUser = Sheets("Sheet1").Range("C:C").Find(user).Offset(, -2).Value
    Sheets("Sheet1").Range("F1").Value = cUser
End Sub

可再次简化为:

Private Sub CommandButton1_Click()
    Sheets("Sheet1").Range("F1").Value = Sheets("Sheet1").Range("C:C").Find(Environ$("USERNAME")).Offset(, -2).Value
End Sub

vlookup根本不适合您尝试做的事情。