Saltar al contenido

Separar rangos numericos


Recommended Posts

publicado

Buen Día Amigos:

Tengo la siguiente inquietud: existe algun macro para separar rangos numericos del tipo: "1-5, 7, 9-11 " si este estuviese en la celda A1 convertirla en la celda A2 en: 1,2,3,4,5,7,9,10,11 para que quede algo como la imagen adjunta.

saludos

[ATTACH]36372.vB[/ATTACH]

post-78744-145877006853_thumb.jpg

Invitado Gengis Khan
publicado

Hola:

Pruebe con esta macro:

Sub GenerarNúmeros()

Dim Cadena, Fila, Series, Intervalos
Cadena = Range("A1")
Range("A:A").ClearContents
Range("A1") = Cadena
Fila = 2
Series = Split(Cadena, ",")
For s = 0 To UBound(Series)
Intervalos = Split(Series(s), "-")
d = Intervalos(0)
h = d
If UBound(Intervalos) = 1 Then h = Intervalos(1)
For n = d To h
Range("A" & Fila) = n
Fila = Fila + 1
Next
Next

End Sub
[/CODE]

Saludos

Invitado Cacho R
publicado

Hola! Juan (y Gengis)

Te adjunto otra forma de encarar el tema:

Sub Separa_rangos_numéricos()
Dim misRangos, misExtremos, i%, j&, k&
Application.ScreenUpdating = False
Intersect([a:a], [a1].CurrentRegion).Offset(1).Delete xlShiftUp

misRangos = Split([a1], ",")
For i = 0 To UBound(misRangos)
misExtremos = Split(misRangos(i), "-")
j = misExtremos(0): k = misExtremos(UBound(misExtremos))
Cells(Rows.Count, "a").End(xlUp).Offset(1).Resize(1 + k - j) = _
Evaluate("row(" & j & ":" & k & ")")
Next i

Application.ScreenUpdating = True
End Sub[/PHP]

Saludos, Cacho R.

publicado

Muchas Gracias a los dos, Gengis y Cacho: los dos codigos funcionan a la perfeccion.

Este tema esta solucionado.

Saludos

Invitado Cacho R
publicado
... los dos codigos funcionan a la perfección ...

Era "natural" que ambos códigos te funcionaran a la perfección: al mío le falto "esto" para constituir un hurto del de Gengis ( :highly_amused:jajajaja).

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.