首页 > 解决方案 > 双击复制相邻单元格的内容

问题描述

在此处输入图像描述

我需要一个简单的代码,它将相邻左侧单元格的内容复制到双击单元格。这是为了帮助我制作附件图像中的条目。

如果我点击c2它应该复制 3b2并将其粘贴到 中c2,它应该这样做c2: c100

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

    Dim wb As Workbook: Set wb = ThisWorkbook
    Dim ws1 As Worksheet: Set ws1 = wb.Worksheets("sheet1")

    With ws1
        If Not Intersect(Target, Range("b2:b100")) Is Nothing Then
            Cancel = True

            If Application.CountIf(Sheets(ws1).Range("b2:b100"), Target.Value) = 0 Then
                Cells(Target.Row, 3).Value = Target.Value
            
            End If
        End If
    End With
End Sub

标签: excelvba

解决方案


你可以做这样的事情 - 在工作表代码模块中注意,你可以Me用来引用工作表。

从技术上讲,您不需要限定Range(),因为在工作表模块中它默认为该工作表,但最好始终在可能的地方限定。

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

    If Not Intersect(Target, Me.Range("C2:C100")) Is Nothing Then
        Cancel = True
        with Target.Offset(0, -1)
            If Len(.Value) > 0 Then Target.Value = .Value
        End With
    End If
    
End Sub

推荐阅读