Macro que repita un formato de ingreso de datos al ejecutarse una macro

Tengo una hoja llamada "DiseñoIngreso" y en dicha hoja tengo el formato en blanco que quiero copiar cada vez que ejecute una macro que es la que necesito que me ayudes a hacer. Aquí te mando la imagen de la hoja "DiseñoIngreso"

Le puse "# 1." porque no sabia que más ponerle en la celda "B2" pero la idea es que ese número vaya incrementándose, es decir, cuando copie el primer formato tendrá el "# 1." cuando copie por segunda vez el formato en la misma hoja debajo del anterior dejando 1 fila vacía, cambie a "# 2." y así sucesivamente "# 3." ...

La hoja en donde quiero copiar este formato anteriormente mencionado es en la hoja llamada "Registro" del mismo libro a partir de la columna "B" y la fila "17", como se muestra en la siguiente imagen.

Este seria el ejemplo cuando copio por primera vez el formato de la hoja "DiseñoIngreso".

A continuación le muestro a través de otra imagen como seria cuando vuelva a ejecutar la macro por segunda vez:

Como te puedes dar cuenta copia nuevamente el formato de la hoja "DiseñoIngreso" pero esta vez aumenta de 1 a 2 el "# 2."

Si lo copiara por tercera vez sería este el resultado:

Como te puedes dar cuenta, siempre copia el formato de la hoja "DiseñoIngreso" pero le va aumentando una cifra a la celda que tiene el "# X."

Adicionalmente para que no queden pegados, deja entre un formato y otro, un espacio de 1 fila para que halla un espaciado entre un formato y otro.

Entonces en resumen, me gustaría que me pudieras ayudar con una macro que copie el formato de la Hoja "DiseñoIngreso" a la hoja "Registro" aumentando el numero y dejando una línea de espacio entre formato y formato, a partir de la fila 17 en adelante y siempre desde la columna "B"

1 respuesta

Respuesta
1

H o l a:

Te anexo la macro

Sub CopiarFormato()
'Por.Dante Amor
    Set h1 = Sheets("registro")
    Set h2 = Sheets("diseño registro")
    '
    u = h1.Range("B" & Rows.Count).End(xlUp).Row
    If u < 17 Then
        d = 18
        u = 18
    Else
        d = u + 4
    End If
    num = h1.Cells(u - 1, "B")
    num = Replace(num, "#", "")
    num = Replace(num, ".", "")
    num = Replace(num, " ", "")
    num = Val(num) + 1
    h2.Rows(2 & ":" & 4).Copy
    h1.Range("A" & d - 1).PasteSpecial Paste:=xlAll
    h1.Range("A" & d - 1).PasteSpecial Paste:=xlPasteColumnWidths
    h1.Range("B" & d - 1) = "# " & num & "."
End Sub

S a l u d o s

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas