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

我正在尝试发送一个查询到Access来填写我的工作表的某个值。 我将通过获取当前用户的login名并通过列来查看此工作表。 此列根据访问中的列进行更新。 我需要的值是在我search的列的右边的列中。 我有下面的代码作为临时尝试让我的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。 如果这个工作,我会把值放入一个variables,并将其添加到我的查询。 我也会插入error handling,以确保代码继续工作,但现在我只是想让它工作在我知道的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根本不适合你正在做的事情。