VBA intervalo nomeado compensado
-
19-09-2019 - |
Pergunta
Eu estou tentando escrever código VBA que irá selecionar um intervalo nomeado, copiá-lo e colá-lo para um determinado número de linhas. O que eu preciso saber é como selecionar o intervalo de células correspondentes aos que estão acima.
por exemplo. I têm uma gama "myRange", que se refere a: "= $ A $ 1: D $ 1 $, $ F $ 1, $ K $ 1". Eu quero copiar este e colá-lo em "= $ A $ 2: D $ 2 $, $ F $ 2, $ K $ 2". Referindo-se a "myRange" em vez de para a cadeia de referências de células
Qualquer ajuda?
Solução
Algo como isso?
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
Editar : OK, algo como isso, então (para lidar com intervalos disjuntos):
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
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow