Смещение именованного диапазона VBA
-
19-09-2019 - |
Вопрос
Я пытаюсь написать код VBA, который будет выбирать именованный диапазон, копировать его и вставлять в определенное количество строк.Что мне нужно знать, так это как выбрать диапазон ячеек, соответствующий приведенным выше.
Например.У меня есть диапазон «myRange», который относится к:"=$A$1:D$1$,$F$1,$K$1".Я хочу скопировать это и вставить в «=$A$2:D$2$,$F$2,$K$2», ссылаясь на «myRange» вместо строки ссылок на ячейки.
Любая помощь?
Решение
Что-то вроде этого?
Sub Test()
Dim oRange As Range
Set oRange = ActiveSheet.Range("A1:D1") ' Change this to point at the range to be copied
Dim i As Integer
For i = 1 To 10
oRange.Copy
oRange.Offset(i, 0).PasteSpecial xlPasteAll
Next i
End Sub
РЕДАКТИРОВАТЬ:Хорошо, тогда что-то вроде этого (чтобы справиться с непересекающимися диапазонами):
Sub Test()
Dim oRange As Range
Set oRange = ActiveSheet.Range("A1,C1:D1") ' Change this to point at the range to be copied
Dim i As Integer
For i = 1 To 10
Dim oArea As Range
For Each oArea In oRange.Areas
oArea.Copy
oArea.Offset(i, 0).PasteSpecial xlPasteAll
Next oArea
Next i
End Sub
Не связан с StackOverflow