Macro para botón que llame ImputBox

Pido su ayuda o colaboración para lo siguiente:

Estoy usando una plantilla la cual contiene una de las hojas en la cual necesito:

Pequeña macro para botón, que me llame un ImputBox para colocar el número de líneas a insertar, para insertar líneas seguidas a partir de la línea seleccionada (manualmente), pueden ser 5, 10 o 100 líneas, es variable la cantidad de líneas a insertar

Las líneas en las columnas DE, E y F son combinadas, lo tienen que ser.

Las líneas de la columna I contienen fórmula.

He buscado algo por la WEB sin haber logrado mi objetivo, lo único encontrado es esta macro pero no me funciona como quiero por lo de las líneas combinadas y fórmula en la I.

Private Sub Lineas_Click()
A = inputbox("Ingrese el Número de Filas a Insertar","Número de Filas"
b = ActiveCells.Row
for i = 1 To a
Rows(b).Select
Selection.Insert Shift:=xlDown
Range("A" & b).select
ActiveSheet.Paste
Application.CutCopyMode = False
b = b+1
Next i
End Sub

Agradezco su valiosa ayuda (colaboración, para lo cual envío mi agradecimiento, una vez reconociendo mi muy magro conocimiento en la materia.

1 Respuesta

Respuesta
1

Prueba esto:

Public Sub inserta_filas()
A = InputBox("Ingrese el Número de Filas a Insertar", "Número de Filas")
b = ActiveCell.Row
Rows(b).Select
For i = 1 To A
    Selection.EntireRow.Insert
    Rows(b + 1).Copy
    Rows(b).PasteSpecial Paste:=xlPasteFormats
    Application.CutCopyMode = False
Next i
End Sub

Hola arold, gracias por el esfuerzo en ayudarme a este inigma mio.

Si, inserta la cantidad de líneas después de la línea seleccionada peero;

No3arrastra la fórmula ni combina las celdas.

Sopone que selecciono la línea 10. Las celdas de la 10 D, E y F son combinadas, lo tienen que ser.

La 10 de la columna I tiene fórmula.

No combina ni arrastra la fórmula en la I

Se reciben más opciones

Gracias

En caso estés seleccionando una fila en blanco, la macro anterior no copia el formato.

Intenta con esta que la he ajustado mejor a tu descripción:

Public Sub inserta_filas()
A = InputBox("Ingrese el Número de Filas a Insertar", "Número de Filas")
b = ActiveCell.Row
Rows(b).Select
For i = 1 To A
    Selection.EntireRow.Insert
    Rows(b - 1).Copy
    Rows(b).PasteSpecial Paste:=xlPasteFormats
    Range("I" & b - 1).Copy
     Range("I" & b).PasteSpecial Paste:=xlPasteFormulas
    Application.CutCopyMode = False
Next i
End Sub

Añade tu respuesta

Haz clic para o