Macro para crear filas, copiar valores y fórmulas

Tengo un macro simple, el cuál hace, en buena teoría, crear una fila debajo de una categoría, lo que hice en el macro fue asignar un nombre a una fila y que sea la fila modelo para las que se vayan a crear, misma fila la tengo oculta por temas que no la modifiquen accidentalmente, mi problema es que el macro crea a fila pero no me copia los valores, adjunto imagen para ilustrar un poco, el macro es:

Sub cpareces()
'
' cpareces Macro
'
Range("eparedes").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
'
End Sub

Este macro es para paredes, hay para cielos y detalles, como ven la idea es que sea un botón para agregar fila según la categoría que se quiere agregar

}

Muchas gracias por cualquier sugerencia o ayuda que puedan darme

2 Respuestas

Respuesta
1

Te falta copiar la fila y también indicar en dónde la quieres insertar.

En el siguiente ejemplo, copio la fila con el nombre "eparedes" y la inserto antes de la fila 9

Sub cpareces()
    ' Cpareces Macro
    Range("eparedes"). Copy
    Rows(9).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
End Sub

Prueba y me comentas.

['Si es lo que necesitas, no olvides valorar la respuesta.

¡Muchas gracias! Era justo lo que estaba buscando

Solo una consulta más, si quiero igual crear filas en cielos y detalles, como haría para que en lugar de que el posicionador sea Rows más bien sea una fila con nombre? como eparedes?, o que sea el título, como Paredes?, es que igual tengo una fila llamada ecielos y edetalles y lo que requiero es crear una fila en alguna de las 3 pero no las 3 a la vez, puedo tener x cantidad de paredes peo solo 2 detalles por ejemplo

No entendí.

La fila que quieres copiar se llama "eparedes", ¿correcto?

¿Y la quieres pegar en otra fila que tiene otro nombre? ¿O cómo?

Respuesta
1

Prueba este código, lo que hace que cuando quieras insertar una línea en paredes es buscar la palabra cielos e inserta una línea en arriba de la fila paredes, igual para quieres insertar una línea en Cielos busca detalles e inserta una línea para detalles no lo ocupas puesto que es hacia abajo lo que tienes es puro línea vacía aun así te puse unas líneas

Private Sub OptionButton1_Click()
Set BUSCA = Range("B:B").Find("CIELOS")
Range(BUSCA.Address).EntireRow.Insert
End Sub
Private Sub OptionButton2_Click()
Set BUSCA = Range("B:B").Find("DETALLES")
Range(BUSCA.Address).EntireRow.Insert
End Sub
Private Sub OptionButton3_Click()
Set BUSCA = Range("B:B").Find("DETALLES")
Range(BUSCA.Address).Offset(1, 0).EntireRow.Insert
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas