M=9 For Each C In Prohoja.Range("A9:A100") If C.Value = "" Then GoTo FINLINEA End If s = 14 CICLO: For N = 1 To 3 p=4 COM = "" VACIO: If Prohoja.Cells(M, p).Value = "" Then GoTo MILINEA End If If COM = "" Then COM = Prohoja.Cells(M, p).Value GoTo MILINEA End If GoTo COMLINEA MILINEA: p=p+1 If p = 14 Then GoTo ESALINEA End If GoTo VACIO COMLINEA: NUM = Prohoja.Cells(M, p).Value If COM <= NUM Then GoTo MILINEA End If COM = NUM GoTo MILINEA ESALINEA: s=s+1 p=4 Prohoja.Cells(M, s).Value = COM For p = 4 To 14 If Prohoja.Cells(M, p).Value = "" Then GoTo PROX End If If COM = Prohoja.Cells(M, p).Value Then GoTo BORRLINEA p=p+1 End If PROX: Next BORRLINEA: Prohoja.Cells(M, p).Value = "" Next SGTLINEA: M=M+1 Next C FINLINEA: End Sub Sub PROMDIBU() Set Prohoja = Worksheets("PROMDIBU") M=9 For Each C In Prohoja.Range("A9:A100") If C.Value = "" Then GoTo FINLINEA End If s = 14 CICLO: For N = 1 To 3 p=4 COM = "" VACIO: If Prohoja.Cells(M, p).Value = "" Then GoTo MILINEA End If If COM = "" Then COM = Prohoja.Cells(M, p).Value GoTo MILINEA End If GoTo COMLINEA MILINEA: p=p+1 If p = 14 Then GoTo ESALINEA End If GoTo VACIO COMLINEA: NUM = Prohoja.Cells(M, p).Value If COM <= NUM Then GoTo MILINEA End If COM = NUM GoTo MILINEA ESALINEA: s=s+1 p=4 Prohoja.Cells(M, s).Value = COM For p = 4 To 12 If Prohoja.Cells(M, p).Value = "" Then GoTo PROX End If If COM = Prohoja.Cells(M, p).Value Then GoTo BORRLINEA p=p+1 End If PROX: Next BORRLINEA: Prohoja.Cells(M, p).Value = "" Next SGTLINEA: M=M+1 Next C FINLINEA: End Sub