Jump to content

novo34

Members
  • Content Count

    40
  • Joined

  • Last visited

About novo34

  • Rank
    Member
  • Birthday 08/14/1981
  1. Estimados amigos, Necesito su ayuda por favor, no tengo idea de como hacer una macro para que al momento de poner el código busque el la hoja PROVINCIAS el codigo y ponga automaticamente a que provincia pertenece, y ponga un CANTÓN de esa provincia aleatoriamente y de ese CANTÓN ponga una parroquia aleatoriamente COD PROVINCIAS CANTON PARROQUIA 17 al que pertenece aleatorio aleatorio Adjunto el archivo con cantones y parroquias, espero me puedan ayudar con eso, muchas gracias EJEMPLO PROVINCIAS 1.rar
  2. Gracias por tu pronta respuesta Marco Antonio, la probé pero si vuelve a repetir los números al generar nuevos aleatorios
  3. Estimados, Tengo una macro que necesito me ayuden por favor a mejorarla. La macro lo que hace es ver la edad segun la fecha de nacimiento y generar un numero aleatorio supuestamente no repetido, pero al generar nuevos aleatorios si los repite, la macro es la siguiente: Function CALCULAREDAD(FechaNac As Date) Dim nacfecha As Date CALCULAREDAD = Abs(DateDiff("YYYY", FechaNac, Date)) - 1 nacfecha = DateAdd("YYYY", CalcEdad, FechaNac) If Day(nacfecha) < Day(Date) And Month(nacfecha) = Month(Date) Then CALCULAREDAD = CALCULAREDAD + 1 Else If Month(Date) > Month(nacfecha) Then CALCULAREDAD = CALCULAREDAD + 1 End If End If End Function Sub AleatoriosNoRepetidosPrueba() For Each cel In Range("A6:A15") 'CALCULAREDAD (cel.Value) If CALCULAREDAD(cel.Value) <= 30 Then ini = 1: fin = 201 If CALCULAREDAD(cel.Value) >= 31 And CALCULAREDAD(cel.Value) < 45 Then ini = 202: fin = 347 If CALCULAREDAD(cel.Value) >= 45 Then ini = 350: fin = 365 o: Num = Application.RandBetween(ini, fin) On Error Resume Next Set y = Range("B6:B15").Find(Num, lookat:=xlWhole) If Not y Is Nothing Then GoTo o If Not ini = "" Then Range("B" & cel.Row) = Num Next End Sub [/CODE] Lo que necesito es que al generar los aleatorios los copie en otro lugar para tenerlos como referencia, para que no se vuelvan a repetir al generar nuevos aleatorios, hasta que se termine el rango de números segun la fecha. Espero me puedan ayudar con esto amigos, realmente no se como hacerlo. Saludos. PRUEBA ALEATOREOS POR FECHA DE NAC.rar
  4. Adjunto el archivo espero te seirva. Saludos. 0 - ENVIOS.rar
  5. @[uSER=143023]Riddle[/uSER] Adjunto el archivo con un cambio que le hice a tu macro, ahora solo me falta que no se repitan los números al generar nuevos aleatorios, no se si es posible ponerle una especie de base de números generados en otra hoja para que al generar nuevos números compruebe si ya están en la base de generados anteriormente para no ponerlos?? Saludos. Libro1.rar
  6. Estimado Riddle, muchas gracias por tu ayuda. Vi tu archivo y te comento que se acerca a lo que necesito, pero lo que necesito es que detecte la edad con la fecha de nacimiento es decir: 25/01/1981, la macro debe ver cuantos años tiene la persona y según eso poner el número aleatorio que no deben repetirse, ya que en la macro que me ayudaste los números se repiten al correrla nuevamente y necesito que no se repitan por lo menos hasta terminar del 1 al 100, del 101 al 200 y del 201 al 300, es decir cuando los 100 números de cada rango se hayan terminado que recién repita nuevamente los números. Muchas gracias por tu ayuda
  7. Estimados amigos, acudo a ustedes solicitando por favor su ayuda con una macro, la cual necesito que compruebe la fecha de nacimiento y genere un número aleatorio que no se repita ni en próximas generaciones de aleatorios hasta que se agoten los números y vuelva nuevamente el ciclo, es decir: Que compruebe en el rango (“C6:C20”) la fecha de nacimiento y si: =< 30 años genere en la columna (“A”) un número aleatorio del 1 al 100 que no se repita =>31 hasta los 40 genere en la columna (“A”) un número aleatorio del 101 al 200 que no se repita Y mayores de 40 genere en la columna (“A”) un número aleatorio del 201 al 300 que no se repita Una vez que no haya más números que coger que vuelva el ciclo Tengo una macro que me genera los aleatorios y funciona perfectamente pero no se como hacer que me genere con condición: Sub AleatoriosNoRepetidos() Dim i As Integer 'generamos la coleccion Set unicos = New Collection x = 1 'núm inicial del rango de valores y = 300 'núm final del rango de valores Z = 10 'numero de elementos no repetidos que queremos 'Inicializamos el generador de números aleatorios Randomize 'loop hasta conseguir Z elementos de la Collection (20 elementos) Do Until unicos.Count = Z 'generamos nuevos aleatorios entre x e y (entre 1 y 100) ale = Int((y - x + 1) * Rnd + x) 'cuando encuentre un item repetido, daría un error 'que salvamos con la instrucción On Error Resume Next On Error Resume Next 'por tanto, nuestra coleccion solo agrega elementos no repetidos 'objeto.Add item, key, before, after 'ocurre un error si una key especificada duplica la key de un miembro existente de la colección unicos.Add ale, CStr(ale) On Error GoTo 0 Loop 'escribir los datos unicos en la Hoja de cálculo For i = 1 To unicos.Count Sheets("Bitacora").Range("D6").Offset(i - 1, 0).value = unicos(i) Next i End Sub[/CODE] Muchas gracias por su ayuda. Saludos.
  8. Estimado Enigma25, Te agradezco muchísimo por tu ayuda, he terminado el formulario de consulta gracias a tí... Tomaré en cuenta tus consejos de ahora en adelante, como pudiste darte cuenta soy nuevo en esto y estoy en aprendiendo mucho de personas como tu, que me dan su ayuda con mis proyectos. Un fuerte abrazo. Tema solucionado.
  9. Muchas muchas gracias, todo funciona bien y le hice los cambios que me sugeriste, solo hay un pequeño problema Suma todos los puntos, y necesito que sume solo los puntos de las aprobadas. Saludos.
  10. Claro... adjunto el archivo con los cambios que me ayudaste anteriormente, muchas gracias Saludos. CONSULTA DATOS.rar
  11. Exelente Enigma25 muchas muchas gracias. No se si es mucho pedir si me pudieras ayudar con otra cosa??? En la columna 6 de mi listbox necesito poner un valor, dependiendo de la columna 5 por ejemplo: Si en la columna 5 dice MIG en la columna 6 poner "1", si dice AUT poner "2.2"... columna5 columna6 MIG = 1 AUT = 2.2 BAN = 2.2 DTH = 2.2 Disculpa el abuso, si me puedes ayudar en buena hora si no no hay problema ya me has ayudado bastante con el código que me diste. Saludos.
  12. Hola Enigma25 gracias por el archivo Lo revise pero este suma los valores de la segunda columna del listbox si se repite A, B, C, o D pero no se como hacer para que cuente las veces que se repite A, B, C, o D... Saludos.
  13. Estimado Marco Antonio, muchas gracias por interesarte en mi caso. Mil disculpas, no subí el archivo porque iba a hacer varios temas con respecto a lo que no puedo hacer en este userform ya que son varias cosas que no he podido realizar, por mi escaso conocimiento en el tema. Como son: - Necesito sumar cuantas aprobadas hay en la columna 4 (indice 3) del listbox y ponerlas en un label - Igual manera cuantas negadas hay en la columna 4 (indice 3) del listbox y ponerlas en otro label - poner el porcentaje de aprobación - En la columna 6 poner los puntos a lo que corresponde, dependiendo de la columna 5 si esta APROBADA: MIG = 1 AUT = 2.2 BAN = 2.2 DTH = 2.2 - Sumar los puntos de las APROBADAS para ponerlos en un label. Y, debido a que este userform es para consulta los datos los va a coger de otro libro que esta compratido en la red, no como esta actualmente los datos en el mismo libro. Como vez son varias cosas para las que necesito pedir ayuda he ir solucionando yo si puedo buscando en la web, si me ayudas con una estaré muy muy agradecido ya que esto me acerca mas a mi meta, muchas gracias. PD: Adjunto el archivo que me solisitaste lo subo en rar porque no me deja de otra forma. CONSULTA DATOS.rar
×
×
  • Create New...

Important Information

Privacy Policy