VBA rango con nombre compensado
-
19-09-2019 - |
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?
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