我搜索了现有的问题并找到了类似的问题和答案,但没有一个符合我的要求。
我有一个电子表格,我希望能够单击一个电子表格中的链接转到第二个电子表格,并将单击的单元格中的值放入第二个电子表格中的字段中。
例如,A 列中的第一张表将包含单位IT
、Finance
和Networks
单击任何这些字段都会将用户带到第二张名为“子单位”的工作表,将单元格的值放在 A1 中,然后我可以在其中编写 if 语句来填充子单位列表,例如,单击IT
将放入IT
单元格 A1 中,然后通过 A3-A5 中的 if 语句将它们设置为
Security, Support, Development
然后我会重用类似的 VB 代码,以便如果有人点击某个子单位名称,它就会将他们带到第三张表,该表将显示该子单位的详细信息。
希望这是有道理的,
我对 VBA 还很陌生,所以请指出我应该将代码放在哪里(例如在选项卡中、右键单击、查看代码或在其他位置)
答案1
在 Sheet 1 上ALT+F11
按 获取 VB 编辑器。复制并粘贴此代码作为标准模块。
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
MsgBox "Range " & Target.Address & " was double clicked"
On Error Resume Next
Dim xRg As Range
Set xRg = Application.Selection
Range("A80").Copy Sheet2.Range("A80")
Application.Goto Worksheets("Sheet2").Range("A80"), True
End Sub
怎么运行的:
- 在单元格中写入一些数据
A80
并双击该单元格。 - 您将收到消息框来确认已单击哪个单元格。
- 按下
OK
按钮。 - Excel 将把
Copy & Paste
内容A80
& 的单元格指针放置在A80
Sheet 2 的单元格中。
注意:
- 根据需要调整代码中的单元格引用和工作表名称。
- 您可以参考单元格范围
Copy & Paste
。 - 为此,请编辑此行,
Range("A80:A85").Copy Sheet2.Range("A80")