Macro de excel para insertar filas

Agradezco si alguien me puede ayudar con una macro, para insertar filas en excel, tengo la siguiente,

Sub Macro1()
Dim Filas As Single, MiRango As Object
Filas = ActiveCell.Value2
Set MiRango = Range(ActiveCell.Offset(1, 0), ActiveCell.Offset(Filas, 0))
MiRango.EntireRow.Insert ( xlShiftDown )
ActiveCell.Offset(0, -1).Copy Destination:=MiRango.Offset( -Filas, -1)
If MiRango.Cells(1, 1).Value2 <> "" Then
Selection.End(xlDown).Select
Else
MiRango.Cells(1, 1).Select
End If
Set MiRango = Nothing
End Sub

El único inconveniente es que no me inserta sino el contenido de una celda y lo que necesito es que me inserte también el contenido de todas las celdas.

1 Respuesta

Respuesta
1

He probado la macro e inserta tantas filas como indica la celda actual y todo lo que hay abajo lo desplaza bien hacia abajo. No entiendo cual es el problema. Podrías concretarlo más.

Hola gracias por responder, la cuestión es esta:

si tengo

a1:juan b1:maría c1:carlos d1:pedro e1:2

coloco el cursor sobre e1

me bota lo siguiente

a2:"vacío" b2:"vacío" c2:"vacío" d2:pedro e2:"vacío"

a3:"vacío" b3:"vacío" c3:"vacío" d3:pedro e3:"vacío"

solo me copia el contenido de d1 y lo que quiero es que me copie el contenido de todas las celdas de la fila asi:

a2:juan b2:maría c2:carlos d2:pedro

a3:juan b3:maría c3:carlos d3:pedro

Vale. Entonces entiendo que no era solo insertar filas sino rellenarlas con la parte izquierda de la fila actual.

He intentado hacerlo respetando lo que tenías pero no he conseguido buenos resultados.

He hecho esta otra macro que hace eso, prueba a ver si era lo que querías.

Sub Macro1()
Dim Filas, Fila, Columna As Integer
Filas = ActiveCell.Value2
Fila = ActiveCell.Row
Columna = ActiveCell.Column
Rows(Fila + 1 & ":" & Fila + Filas).Insert shift:=xlDown
Range(Cells(Fila, 1), Cells(Fila, Columna - 1)).Copy _
      Destination:=Range(Cells(Fila + 1, 1), Cells(Fila + Filas, Columna - 1))
Cells(Fila + Filas + 1, 1).Select
End Sub

El problema de la tuya era que el rango que elegías en MiRango era en forma de columna en lugar de rectangular, correspondía justamente las casillas donde se repetía Pedro.

Y eso es todo, espero que te sirva y lo hayas entendido. Si no es así pídeme aclaraciones. Y si ya está bien no olvides puntuar.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas