Excel - Rellenar datos de acuerdo a la variable

Problema

Quiero rellenar una hoja de Excel con un número variable de filas de acuerdo con un número insertado en una columna fija.

 columna ABCD r1 2009096 1001 19 5 r2 2009097 1002 12 2 r3 2009097 1003 36 6 r4 2009099 1004 10 3 r5 2009099 1005 11 3 r6 2009099 1006 12 2 r7 2009099 1007 13 4 r8 2009101 1008 25 5 r9 2009102 1009 19 5 

De acuerdo con los números insertados en la columna D, tengo la intención de obtener el siguiente resultado:

 columna ABC r1 2009096 1001 19 r2 2009096 1001 19 r3 2009096 1001 19 r4 2009096 1001 19 r5 2009096 1001 19 r6 2009097 1002 12 r7 2009097 100 r 12 2009097 1003 36 r12 2009097 1003 36 r10 2009097 100 r 36 2009097 100 r r13 2009097 1003 36 

Solución

Suponiendo que los datos están en la hoja 1, comenzando en la fila 1 (sin encabezado).

El resultado se mostrará en la hoja 2.

Corrija los nombres de las hojas y haga una copia de seguridad del archivo primero, luego vea si esta macro produce el resultado deseado:

 Subprueba () Dim lRow, lRow2, x, y As Integer lRow = Sheets ("sheet1"). Range ("E" & Rows.Count) .End (xlUp) .Row para cada celda In Sheets ("Sheet1") .Rango ("E1: E" & lRow) x = cell.Value y = 0 Do Sheets ("Sheet1"). Seleccione Range (Cells (cell.Row, "A"), Cells (cell.Row, "D" )). Copie lRow2 = Hojas ("Hoja2"). Rango ("A" & Rows.Count) .End (xlUp) .Offset (1, 0). Hojas de ruta ("Sheet2"). Rango ("A" & lRow2) .PasteSpecial y = y + 1 Loop Until x = y Next cell End Sub 

Gracias a TrowaD por este consejo.

Artículo Anterior Artículo Siguiente

Los Mejores Consejos