在Col C中输入一个帐号,vlookup
表使用
=IFERROR(VLOOKUP(C4,MembersAndIDList,2,FALSE),"").
代码工作正常,除非使用的类型为Col C,并按下删除键,因为这将删除公式。该配方用于Col D中的所有细胞
使用Excel 2010 - 我可以锁定Vlookup
列以防止在xlsx文件上无意中过度键入,但锁定对xlsm文件不起作用。有什么建议吗?
答案 0 :(得分:0)
将此代码粘贴到用户应输入会员编号的工作表的代码模块中。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rng As Range Dim Member As String Set Rng = Range("MembersAndIDList") With Target If .Row < 2 Then Exit Sub ' exclude first row at the top If .Column = 3 Then ' Column 3 = "C" Application.EnableEvents = False On Error Resume Next Member = WorksheetFunction.VLookup(.Value, Rng, 2, False) If Err Then MsgBox "Please enter a valid member number", _ vbExclamation, "Invalid entry" .Value = "" .Select Else Cells(.Row, 4).Value = Member ' column 4 = "D" End If Application.EnableEvents = True End If End With
End Sub
你可以修改Row&lt; 2排除更多标题行,更改列表名称或消息文本,当然还有列C和D,但是您需要继续在工作簿上使用工作表函数,这些工作表不支持宏,因此可以'有这个代码。