首页 > 解决方案 > Excel - 如何双击一个单元格并引用另一个工作表?

问题描述

我想知道这是否可能,以及我将如何去做:

我希望能够双击一个单元格(在 Z 列中),引用同一行的 G 列中的内容,然后从另一张纸上 G 列中的信息中找到并设置焦点。

因此,例如,当我双击 Z1 中的单元格时,它会查找 G1 中的信息并在另一张纸上找到它并将焦点设置到该新单元格。

这可能吗?

谢谢

标签: excelvba

解决方案


是的,您需要实现Worksheet_BeforeDoubleClick事件处理程序,然后您可以做任何您喜欢的事情,处理程序是 Worksheet 对象的事件。在模块代码中执行您的主要代码,以使内容在多个工作表中可重用。

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  Cancel = True
  Call Module1.onDrillDownToData(Target)
End Sub
- - - 
Public Function onDrillDownToData(ByRef sender As Range)
  Dim ws as worksheet
  Dim iCol As Long
  Dim iRow As Long
  Dim dt As Date

  set ws = sender.Parent
  ' do anything you want with worksheet
  ' sender is the origin cell

  iCol = Sender.Column
  iRow = Sender.Row
  dt = Now()
  ws.Cells(iRow, iCol).Value = "'" & Format(dt, "yyyy\-MM\-dd", vbMonday)
  ws.Cells(iRow + 1, iCol).Value = "'" & Format(dt, "hh\:nn\:ss", vbMonday)

  set ws = Application.Worksheets("TargetSheet")
  ws.Activate
  ws.Range("A5").Activate
End Function

推荐阅读