相交时VBA excel复制到单元格上方

时间:2018-07-07 08:56:11

标签: excel vba select copy intersect

我需要使Excel将特定的范围复制到当前选中的行。

例如,我有如下数据: enter image description here

当我选择A3时,我需要使Excel自动复制范围C2:F2到C3:F3,如下所示 enter image description here

以此类推...如果选择A4,则需要将C3:F3复制到C4:F4 ...

请问这怎么可能?

1 个答案:

答案 0 :(得分:1)

这听起来更像是自动填充。您应该可以从C2:F2进行填充。

Range.AutoFill

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Target.Row = 1 And Not Intersect(Target, Range("A2", Columns("A"))) Is Nothing Then
        With Target.Offset(-1).EntireRow.Range("C1:F1")
            .AutoFill Destination:=.Resize(2), Type:=xlFillDefault
        End With
    End If
End Sub

Range.Copy

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Target.Row = 1 And Not Intersect(Target, Range("A2", Columns("A"))) Is Nothing Then
        With Target.EntireRow.Range("C1:F1")
            .Offset(-1).Copy Destination:=.Cells
        End With
    End If
End Sub