用户将使用用户表单在工作表中输入新信息。此信息与参赛时提供的唯一ID相关联(即2019-7为今年的第7项)。目前,每条信息都放在一行中的单独单元格中。我想隐藏其中的一些单元格,但可以允许用户单击该行开头的唯一ID,这将运行一个宏,该宏将创建一个新的工作表,以用户友好的方式显示所有信息。
我曾尝试创建一个指向运行宏的超链接,但用于标识该超链接的代码不能是特定于单元格的。我需要一种更动态的方式让excel识别哪个ID被点击,然后使用它来收集该行中的其余信息(即隐藏的列)。
我最好的选择是在工作表中放置一个私有子,以便在单元格被更改/单击时识别它,但无法通过它,只是识别该单元格。我需要它来识别该单元格的内容,这将是唯一的ID。
我不会创建指向任何内容的超链接,我只需要excel在单击超链接时运行宏,然后在该宏中标识所单击的唯一ID和/或行。一旦我确定了ID或Row,我就可以从那里获取其他列中的其余信息。
发布于 2019-06-19 23:51:52
您可以使用工作表的BeforeDoubleClick事件:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Address <> "$A$7" Then Exit Sub
' below, call the functions/subs that produce your output worksheet
MsgBox "You clicked on " & Target.Address
End Sub上面只适用于单元格A7。如果需要将其应用于整个列A,请稍作修改:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(Target, Range("A:A")) Is Nothing Then Exit Sub
' below, call the functions/subs that produce your output worksheet
MsgBox "You clicked on " & Target.Address
End Subhttps://stackoverflow.com/questions/56671311
复制相似问题