如何仅在一列中执行代码?

问题描述 投票:0回答:1

我有一个具有双击功能的工作簿,当您双击工作簿中的任意位置时,该功能即可工作。我需要将其限制在 I 列。我可以添加 if 语句或其他一些检查以仅填充在 I:I 中吗?

这是现在的代码。我只希望它在双击位于 I 列时执行。

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
    
    'copy trace number from trace sheet to main sheet to active cell
        Sheets("trace").Range("F15").copy
        Sheets("Main").Activate
        ActiveCell.Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
        'ActiveCell.PasteSpecial (xlPasteValues)
        ActiveCell.Offset(1).Select

End Sub
excel vba double-click
1个回答
0
投票

仅供参考,您不需要

Activate
ActiveCell
/
Selection
此处,或使用复制/粘贴:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Target.Column <> 9 Then Exit Sub 'from rotabor's comment
    Cancel = True
    Target.Value = ThisWorkbook.Worksheets("trace").Range("F15").Value
    Target.offset(1).Select
End Sub
© www.soinside.com 2019 - 2024. All rights reserved.