Excel VBA用户从任何地方双击单元格

时间:2016-11-29 12:26:45

标签: excel vba excel-vba

我正在使用Excel 2010,并且在A列中有一系列代码。当用户双击一个时,它会使用工作表的BeforeDoubleClick事件中的以下代码将其任意值复制到单元格A2 - 这很好用:

If Not Intersect(Target, Range("A4:A100000")) Is Nothing Then Cancel = True
Target.Copy Destination:=Sheets("GL Codes").Range("A2")

问题是,如果他们点击B栏中的说明,它就不会复制A栏中的相应值 - 我该怎么做?

总之,无论用户双击哪一行,都需要将A列中的单元格值复制到A2 - 这可能吗?

2 个答案:

答案 0 :(得分:1)

如果复制和粘贴都是“GL代码”表,此代码所在,您无需在代码中引用它。

此外,由于您要输入此代码,只要有人在第1-100000行中点击,您就不需要使用If Not Intersect(Target, Range("A4:A100000")) Is Nothing行。

<强>代码

Option Explicit

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

' copy the row in Column A of the cell you double-clicked to A2
Range("A" & Target.Row).Copy Destination:=Range("A2")

End Sub

答案 1 :(得分:-1)

您正在查看Range("A4:A100000")。 如果您想使用A和B,请将其更改为Range("A4:B100000"),并且对于任何列索引都是如此。