Excel: consente di popolare i dati in base alla variabile

Problema

Voglio popolare un foglio Excel con un numero variabile di righe in base a un numero inserito su una colonna fissa.

 colonna 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 

Secondo i numeri inseriti nella colonna D, intendo ottenere il seguente risultato:

 colonna 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 1002 12 r8 2009097 1003 36 r9 2009097 1003 36 r10 2009097 1003 36 r11 2009097 1003 36 r12 2009097 1003 36 r13 2009097 1003 36 

Soluzione

Supponendo che i dati siano in sheet1, a partire dalla riga 1 (senza intestazione).

Il risultato verrà visualizzato nel foglio2.

Correggi i nomi dei fogli e fai prima il backup del file, poi verifica se questa macro produce il risultato desiderato:

 Sub Test () Dim lRow, lRow2, x, y As Integer lRow = Sheets ("sheet1"). Range ("E" & Rows.Count) .End (xlUp) .Row For Each Cell In Sheets ("Sheet1") .Range ("E1: E" & lRow) x = cella.Valore y = 0 Fogli ("Foglio1"). Seleziona intervallo (Celle (cella.Rossa, "A"), Celle (cella.Rossa, "D"). )). Copia lRow2 = Fogli ("Foglio2"). Intervallo ("A" & Rows.Count) .End (xlUp) .Offset (1, 0). Foglio di lavoro ("Foglio2"). Intervallo ("A" & lRow2) .PasteSpecial y = y + 1 loop until x = y cella successiva End Sub 

Grazie a TrowaD per questo suggerimento.

Articolo Precedente Articolo Successivo

I Migliori Consigli