Pregunta

Estoy tratando de escribir código VBA que seleccionará un rango con nombre, copiarlo y pegarlo por un cierto número de filas. Lo que necesito saber es cómo seleccionar el rango de celdas que corresponden a los de arriba.

por ejemplo. Tengo una gama "myRange", que se refiere a: "= $ A $ 1: D $ 1 $, $ F $ 1, $ K $ 1". Quiero copiar esto y pegarlo. "= $ A $ 2: D $ 2 $, $ F $ 2, $ K $ 2" al referirse a "myRange" en lugar de a la cadena de celdas de referencia

Cualquier ayuda?

¿Fue útil?

Solución

Algo como esto?

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, entonces algo como esto (para hacer frente a los rangos 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 bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top