Hola a todos:

Parece que este fin de semana estoy bastante activo con las publicaciones 🙂

Como hoy es domingo el post va a ser bastante breve y además dentro de un rato me voy a comer unas castañas que estoy haciendo al horno, qué ricas van a estar con el frío que hace!.

El post de hoy va a tratar sobre un tema muy sencillo y que ya he utilizado en algunos de mis post a la hora de consolidar información y pegar o agrupar rangos. Se trata de copiar varias veces un rango que previamente hemos seleccionado,

El post de hoy únicamente busca mostrar de forma clara su funcionamiento, no voy a descubrir nada nuevo internet está lleno de ejemplos, pero para el post de hoy os dejaré el mío:

Vamos a trabajar con este ejemplo, un rango determinado: «A4:D6», generado por números aleatorios del 1 al 10.

La idea es generar n veces este rango en la columna I, copiando y pegando la información del rango inicial y como tiene la función Aleatorio.entre() cada vez que copiemos y peguemos se generarán nuevos números.

Pues bien, el código a utilizar es el siguiente:

Option Explicit
Sub CopiarRango()
    'Declaramos variables
    Dim rng         As Range, i As Long, fin As Long
    With Sheets("Hoja1")
        'Seleccionamos rango a repetir
        Set rng = Selection
        'Ejecutamos bucle y copiamos rango n veces
        Do Until i = .Cells(2, 14)
            fin = .Range("I" & .Rows.Count).End(xlUp).Row + 2
            rng.Copy
            'indicamos tipo de pegado, valores, fórmulas, todo, etc
            .Range("I" & fin).PasteSpecial xlPasteAll 'xlPasteValues
            fin = fin + 1
            i = i + 1
        Loop
    End With
End Sub

Aunque ya lo tengo bien comentado, lo importante es declarar la variable y crear el rango que vamos a utilizar, en nuestro caso la selección que hagamos, pero puede ser un rango tipo:

Set rng = range("A4:D6")

Definiremos la variable que nos indique la última fila con datos y mediante un loop copiaremos y pegaremos tantas veces como indiquemos en la celda N2, por ejemplo 5 veces:

Y es así de sencillo. Lo podéis programar con otro tipo de Loop, o incluso podéis indicar el tipo de pegar, en este ejemplo os he dejado comentado el pegado de valores.

Y esto es todo, espero que os sea de utilidad. Disfrutad de lo que queda de domingo!.

Descarga el archivo de ejemplo pulsando en: 

¿Te ha resultado de interés?, puedes apoyar a Excel Signum con una pequeña donación.

Donate Button with Credit Cards

¡¡Muchas gracias!!

Mediante la suscripción al blog, la realización comentarios o el uso del formulario de contacto estás dando tu consentimiento expreso al tratamiento de los datos personales proporcionados según lo dispuesto en la ley vigente (LOPD). Tienes más información al respecto en esta página del blog: Política de Privacidad y Cookies

Comparte este post