números aleatorios

20/03/2007 - 13:48 por J L Casado | Informe spam
¿Es posible que, llamando a la función ELEATORIO.ENTRE(1;100), en p.e. 5
celdas, se obtengan 5 números diferentes siempre?
Alguien sabe cómo conseguirlo?

Gracias anticipadas.

Preguntas similare

Leer las respuestas

#1 AnSanVal
20/03/2007 - 19:35 | Informe spam
Prueba en un módulo ordinario de VBA con:

Sub noRepe()
Dim n, num As Integer
For n = 4 To 8
1
num = Rnd() * 100 + 1
If Application.CountIf(Range("C4:C8"), num) > 0 Then GoTo 1
Cells(n, 3).Value = num
Next n
End Sub

Saludos desde Tenerife.
***********************
"J L Casado" escribió en el mensaje
news:
¿Es posible que, llamando a la función ELEATORIO.ENTRE(1;100), en p.e. 5
celdas, se obtengan 5 números diferentes siempre?
Alguien sabe cómo conseguirlo?

Gracias anticipadas.
Respuesta Responder a este mensaje
#2 J L Casado
20/03/2007 - 21:13 | Informe spam
Gracias, pero la verdad es que no tengo ni idea de VBA.
¿No hay otra manera de hacerlo?



"AnSanVal" wrote:

Prueba en un módulo ordinario de VBA con:

Sub noRepe()
Dim n, num As Integer
For n = 4 To 8
1
num = Rnd() * 100 + 1
If Application.CountIf(Range("C4:C8"), num) > 0 Then GoTo 1
Cells(n, 3).Value = num
Next n
End Sub

Saludos desde Tenerife.
***********************
"J L Casado" escribió en el mensaje
news:
> ¿Es posible que, llamando a la función ELEATORIO.ENTRE(1;100), en p.e. 5
> celdas, se obtengan 5 números diferentes siempre?
> Alguien sabe cómo conseguirlo?
>
> Gracias anticipadas.



Respuesta Responder a este mensaje
#3 AnSanVal
20/03/2007 - 22:26 | Informe spam
Mediante fórmulas yo no se como hacerlo.

Quizás una "media solución", es que mediante FORMATO CONDICIONAL, colorees
las celdas repetidas y que cuando se produzca este (facilmente visible),
pulses F9 para generar una nueva serie, pues lo realmente cierto es que en
una serie tan corta (5 elementos), la mayoria de las veces no habrá
repetidos.

De cualquier manera, en algún momento será la primera vez, y dado que en
esta ocasión no necesitas "saber VBA" ya que te lo he dado hecho:
1.- Menú>Herramientas>Macro>Editor de Bisual Basic
2.- Menú>Insertar>Módulo
3.- Copia el código que te ofrecí y pégalo en el módulo.
4.- Vuelve a la hoja de Excel y dibuja en la misma una pequeña figura (por
ejemplo un óvalo)
5.- Botón derecho sobre la figura>Asignar macro>noRepe>Aceptar
6.- Haz clic en cualquier celda para que la figura pierda la selección.
7.- Cuando hagas clic en la figura se ejecutará la macro.

Si te animas y tienes alguna duda, por aqui estaremos.

Saludos desde Tenerife (España).
***************************************
"J L Casado" escribió en el mensaje
news:
Gracias, pero la verdad es que no tengo ni idea de VBA.
¿No hay otra manera de hacerlo?



"AnSanVal" wrote:

Prueba en un módulo ordinario de VBA con:

Sub noRepe()
Dim n, num As Integer
For n = 4 To 8
1
num = Rnd() * 100 + 1
If Application.CountIf(Range("C4:C8"), num) > 0 Then GoTo 1
Cells(n, 3).Value = num
Next n
End Sub

Saludos desde Tenerife.
***********************
"J L Casado" escribió en el mensaje
news:
> ¿Es posible que, llamando a la función ELEATORIO.ENTRE(1;100), en p.e.
> 5
> celdas, se obtengan 5 números diferentes siempre?
> Alguien sabe cómo conseguirlo?
>
> Gracias anticipadas.



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida