Ver Mensaje Individual
  #10 (permalink)  
Antiguo 09/12/2011, 10:31
Avatar de erbuson
erbuson
 
Fecha de Ingreso: noviembre-2009
Mensajes: 701
Antigüedad: 15 años
Puntos: 53
Respuesta: Crear Array con Strings y que devuelva uno de los valores en random

Hola, hay muchas maneras de hacerlo, la mas simple para que lo entiendas facilmente sería por ejemplo esta:

Código vb:
Ver original
  1. Public Sub DameHora()
  2.  
  3.   Dim A(0 To 6) As String
  4.   Dim R As Long
  5.   A(0) = Range("A1").Value
  6.   A(1) = Range("A2").Value
  7.   A(2) = Range("A3").Value
  8.   A(3) = Range("A4").Value
  9.   A(4) = Range("A5").Value
  10.   A(5) = Range("A6").Value
  11.   A(6) = Range("A7").Value
  12.   Randomize  'Inicializa el generador de semillas aleatorias
  13.  R = Int(Rnd(1) * 7)
  14.  
  15.   Range("K2").Value = A(R)    'R será el índice de la matriz
  16.  
  17. End Sub

Para hacerlo de una manera mas elegante, sería en un bucle For Next

Código vb:
Ver original
  1. Public Sub DameHora()
  2.  
  3.   Dim A(0 To 6) As String
  4.   Dim R As Long, I as Integer
  5.   For I = 0 To 6
  6.     A(I) = Range("A" & Cstr$(I+1)).Value
  7.   Next
  8.   Randomize  'Inicializa el generador de semillas aleatorias
  9.  R = Int(Rnd(1) * 7)
  10.  
  11.   Range("K2").Value = A(R)    'R será el índice de la matriz
  12.  
  13. End Sub

Como puedes ver, el bucle va de 0 a 6 que son los indices de A pero I toma los valores de 1 a 7 (I+1) porque son uno mas en la hoja.

Saludos
__________________
Agradecer a quien te enseñó, es enseñar lo que de él aprendiste.
Recuerda: Decir gracias, poco cuesta y mucho vale ...