点击单元格时调出用户表单

我有一个电子表格,其中包含第一列中的人员列表以及各行其余部分中关于他们的各种信息。 我有一个用户表单,它将填充并随后编辑每个logging,当用户点击该用户的名字时,我想popup这些logging。

例如:

Name Age DOB Postcode John Smith 55 3/6/1958 RM3 5WO Mary Jones 22 4/2/1991 RM2 6TP 

所以我想能够点击约翰·史密斯(A2)提出一个与他的年龄段,DOB,邮政编码等领域的表单。我也希望能够使用表格添加条目,所以它也将function列表下至less一行。

我已经被给了下面的代码来使用:

 Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Address = "$A$2" Then frm_tch_staffinfo.Show End If End Sub 

我试过在工作表中使用它,但似乎并没有工作 – 当我点击A2时没有任何反应。 代码中有一些错误,或者我已经实现了它? (我已经把它放在相关工作表的代码中)。

此外,我想展开目标地址,以包含所有名称(其数量可能会更改)的范围和至less一个单元格(但不包括A1中的标题)。 是否可以定义这样一个范围? 无论是简单地selectA2和以下,或者使用一个过程来计算单元格已满,并在最后添加或更多。

谢谢你的帮助!

ETA:
我绝对需要Excel,因为我的用法是电子表格而不是数据库。 这是一个简化的例子:数据实际上都是数字,用于其他工作表中相对复杂的计算。

正如在评论中提到的:你的代码的第一部分工作得很好(select更改)。
我只是做了testing,没有错。
请注意:

  • 把正确的表格名称;
  • 将代码放在正确的工作表模块中

至于你的第二个问题,你正在寻找的代码:

 Set oRange = Range("A1:A10") If Not Intersect(Target, oRange) Is Nothing Then 'do something End If 

如果你想dynamic设置范围,以前有很多post。
看看例如:
获取实际使用的范围