我正在尝试向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值。
答案 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根本不适合您尝试做的事情。