elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  macro para ordenar listado
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: macro para ordenar listado  (Leído 2,548 veces)
tony82

Desconectado Desconectado

Mensajes: 31


Ver Perfil
macro para ordenar listado
« en: 15 Abril 2009, 15:05 pm »

Buenos dias, estoy barado por un asunto, por favor ayudemen

tengo un listado con una serie de numeros.
Ejemplo:

1
2
6
1
4
9
6
9
2
Lo que quiero es con esta lista sacar los numeros en otra hoja aparte sin que se repitan y que queden en orden.
1
2
4
6
9
he realiazado esto pero no sirve  :huh:. no se que mas hacer.

Código:
i = 2
Do While i <= Worksheets("DatosCALLE").Cells(2, 14)
fila = 2
Do While Worksheets("DatosFRAC").Cells(fila, 15) <> 0
If Worksheets("DatosFRAC").Cells(fila, 15) <> Worksheets("DatosCALLE").Cells(i, 47) Then
Worksheets("DatosCALLE").Cells(i + 1, 47) = Worksheets("DatosFRAC").Cells(fila, 15)
i = i + 1
End If
fila = fila + 1
Loop
i = i + 1
Loop


En línea

Novlucker
Ninja y
Colaborador
***
Desconectado Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Re: macro para ordenar listado
« Respuesta #1 en: 15 Abril 2009, 18:03 pm »

Antes que nada decir que lo que he hecho es una chapuza a modo de ejemplo, ... pero funcional  :xD

Para probarla, en una hoja ingresa algunos valores (alguno repetido) en una columna y luego en un nuevo modulo agrega lo siguiente:

Código
  1. Sub Unica()
  2. Dim valores() As String
  3. Dim i As Integer, e As Integer, c As Integer
  4.  
  5. ReDim valores(0)
  6. valores(0) = ActiveCell.Value
  7. 'Almacenamos la primera celda como primer valor del array
  8. Cells(ActiveCell.Row + 1, ActiveCell.Column).Select
  9. 'Pasamos a la celda siguiente
  10.  
  11. i = 1
  12. Do While ActiveCell.Value <> ""
  13. 'Recorremos todas las celdas de una columna
  14.  
  15.    If repetido(ActiveCell.Value, valores) = False Then
  16.    'Si la funcion repetido devuelve falso
  17.        ReDim Preserve valores(i)
  18.    'Redimensionamos el array
  19.        valores(i) = ActiveCell.Value
  20.    'Asignamos el valor
  21.        i = i + 1
  22.    End If
  23.    Cells(ActiveCell.Row + 1, ActiveCell.Column).Select
  24.    'Pasamos a la siguiente celda
  25.  
  26. Loop
  27.  
  28. 'Una vez generamos el array lo volcamos en otra pagina
  29. c = 1
  30. For e = LBound(valores) To UBound(valores)
  31.    Sheets(2).Cells(c, 1).Value = valores(e)
  32. c = c + 1
  33. Next
  34.  
  35. End Sub
  36.  
  37. Function repetido(valor As String, aray() As String) As Boolean
  38. 'Recorremos el array comparando uno a uno sus valores
  39. For e = LBound(aray) To UBound(aray)
  40.  
  41.    If valor = aray(e) Then
  42.    'Si se encuentra el valor, entonces esta repetido
  43.    'se sale del bucle y se asigna true a la funcion
  44.        repetido = True
  45.        Exit For
  46.    Else
  47.        repetido = False
  48.    'De lo contrario es falso
  49.    End If
  50. Next
  51. End Function

Con respecto al ordenamiento ... Métodos de ordenamiento<---click

Deberías de adaptarlo a tu "problema" y además ...seguro que se puede mejorar  ;)

Saludos  ;D


« Última modificación: 15 Abril 2009, 18:05 pm por Novlucker » En línea

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD
"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Script para extraer listado mp3
Scripting
ovichan 6 5,758 Último mensaje 23 Diciembre 2011, 20:46 pm
por ovichan
ayuda para ordenar en c
Programación C/C++
marrison 9 3,242 Último mensaje 4 Septiembre 2012, 16:10 pm
por marrison
necesito ayuda para ordenar en c
Programación C/C++
marrison 3 1,974 Último mensaje 23 Diciembre 2012, 13:08 pm
por marrison
Macro para crear una agenda
Scripting
Volturyon11 0 1,696 Último mensaje 18 Febrero 2019, 21:55 pm
por Volturyon11
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines