Inicio > Microsoft Excel > caranbis > macro que inserte filas

macro que inserte filas

Experto:
Usuario:
Fecha: 29/01/2009
Valoración: (5,00 sobre 5) Categoría: Microsoft Excel
21/01/2009
josepmariabc, usuario preguntando en Microsoft Excel
Usuario
Necesitaria una Macro que me inserte filas, a lo largo de una columna, (unas 50 celdas), tantas como el valor de la celda, siempre que dicho valor sea mayor que 1 , es decir, si A1 =3, me inserte 2 filas ,copiando el valor de A1, y en el rango B2:B3 creado, copie el valor de B1 y asi sucesivamente, de manera que en la columna B, repita el valor tantas veces como indica la culumna A.
Una cosa +o- asi:
A1=3    B1=2020
A2=2    B2=3030
Resultado:
A1=3    B1=2020
A2=3    B2=2020
A3=3    B3=2020
A4=2    B4=3030
A5=2    B5=3030
y asi sucesivamente.
Muchisimas Gracias.
21/01/2009
josepmariabc, experto respondiendo en Microsoft Excel
Experto
Servido Sr. José María.
Selecciona la ÚLTIMA celda llena de la COLUMNA A, y luego ejecuta la macro
 
 
Sub Macro1()
Dim inicio As Double
Dim fin As Double
Dim rangoinsert As String
Dim celdant As Range
Application.ScreenUpdating = False

While ActiveCell.Row > 0
If IsNumeric(ActiveCell) And ActiveCell > 1 Then
inicio = ActiveCell.Row + 1
fin = ActiveCell.Row + ActiveCell - 1
rangoinsert = inicio & ":" & fin
Rows(rangoinsert).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
For i = inicio To fin
Cells(i, 1) = Cells(inicio - 1, 1)
Cells(i, 2) = Cells(inicio - 1, 2)
Next
End If
If ActiveCell.Row <> 1 Then
ActiveCell.Offset(-1, 0).Select
Else
Exit Sub
End If
Wend
End Sub
 
Carlos L.
29/01/2009
josepmariabc, usuario preguntando en Microsoft Excel
Usuario
Muchas Gracias, va perfecto.
Un Abrazo
Enlaces patrocinados