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?

Foi útil?

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
scroll top