¿Cómo añadir celdas según valor?
Mi actual tabla es de la siguiente forma:
http://www.ayudaexcel.com/foro/attachments/dibujo1-jpg.54369/
Mi actual macro hace que quede de la siguiente forma:
http://www.ayudaexcel.com/foro/attachments/dibujo2-jpg.54370/
Mi consulta es la siguiente:
¿como puedo modificar el código que tengo cuando me aparece de la siguiente manera?
http://www.ayudaexcel.com/foro/attachments/dibujo3-jpg.54372/
Cuando tengo datos en la misma fila debo colocarlo de manera escalonada.
Y que me quede algo así:
http://www.ayudaexcel.com/foro/attachments/dibujo4-jpg.54374/
El codigo de la macro es el siguiente:
Sub CopyCodes() Dim F1, F2, C1&, C2&, I& With Range("g3", Range("G" & Rows.Count).End(xlUp)) F1 = Evaluate("if(isnumber(" & .Address & ")*isodd(countif(offset(" & .Cells(1).Address & ",,," & _ "row(" & .Address & ")-min(row(" & .Address & "))+1),"">0"")), row(" & .Address & ")-min(row(" & .Address & ")))") F2 = Evaluate("if(isnumber(" & .Address & ")*iseven(countif(offset(" & .Cells(1).Address & ",,," & _ "row(" & .Address & ")-min(row(" & .Address & "))+1),"">0"")), row(" & .Address & ")-min(row(" & .Address & ")))") C1 = Application.Count(F1): C2 = Application.Count(F2) For I = 1 To C1 With Range("g3").Offset(Application.Small(F1, I)) .Resize(.Offset(, -1)) = Range("g2") End With Next I For I = 1 To C2 With Range("h3").Offset(Application.Small(F2, I)) .Resize(.Offset(, -2)) = Range("h2") End With Next I End With Erase F1, F2End Sub
1 Respuesta
Respuesta de Dante Amor
1