Cómo utilizar Excel para la programación en VB
Const?C1?=?10?'Valor de ajuste de número continuo
Const?C2?=?15?'Valor de ajuste de número no continuo
Const ? S?=?10?'Establecer el rango continuo
Sub?process()
Dim?a,?i!,?j!,?d!,?n
p>Rango("A1").Sort?key1:=Rango("A1"),?order1:=xlAscendente
a?=?WorksheetFunction.Transpose(Range(" A1:A "?&?[A65536].End(xlUp).Row))
For?i?=?1?To?UBound(a)
d?= ?a( i)?+?S
Para?j?=?i?A?UBound(a)
Si?j?+?1?>?UBound(a )?Entonces ?Salir?Para
Si?a(j?+?1)?>?d?¿Entonces?Salir?Para
Siguiente
Si ?i? =?j?Entonces?'Números no continuos
a(i)?=?a(i)?-?C2
Else?'Números continuos p>
n?=?a(i)?-?C1
Para?k?=?i?To?j
a(k)?=?n
Siguiente
i?=?j
Fin?Si
Siguiente
Rango("B1" ).Resize( UBound(a))?=?WorksheetFunction.Transpose(a)
End?Sub
El efecto es como se muestra en la figura, puede descargar el archivo adjunto para referencia