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

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
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?

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas