VBA Excel скопировать выше ячейки при пересечении
Мне нужно, чтобы Excel скопировал определенный диапазон в строку, которая в данный момент выбрана.
Например, у меня есть такие данные:
И когда я выбираю A3, мне нужно автоматически скопировать Excel. Диапазон C2:F2 до C3: F3, вот так
И так далее... Если я выберу A4, мне нужно скопировать C3: F3 в C4:F4...
Как это возможно, пожалуйста?
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