Hola foro:
No he podido hacer que se introduzca el resultado del cálculo de una
fórmula en la celda activa de una determinada hoja de Excel
(introduciendo la fórmula si funciona).
El ejercicio consiste generar un numero aleatorio entre 1 y 150;
buscar dicho aleatorio en el rango "Col_Ind" (columna izquierda de una
tabla) y con la combinación de =INDICE() y =COINCIDIR() debe devolver
la palabra que está en el rango "Col_01" (columna central de la tabla)
y colocarla en la celda activa; luego avanza dos celdas a la derecha y
hace otro tanto con la palabra que está en el rango "Col_02" (columna
derecha de la tabla) y deber colocarla en la celda activa. El proceso
se repite hasta completar 35 palabras de un total de 300 (siempre
serán diferentes por el uso del # aleatorio)
Para lo anterior tengo el siguiente código que debe funcionar en una
"HojaDeTrabajo", con la información que se encuentra en la hoja
"Base":
Sub Palabras()
Set miRInd = Worksheets("Base").Range("Col_Ind")
Set miRUno = Worksheets("Base").Range("Col_01")
Set miRDos = Worksheets("Base").Range("Col_02")
Range("D:D").ClearContents
Range("F:F").ClearContents
Range("E2").Select
Do While contador < 35
ActiveCell.Offset(1, -1).Select
' Falla en la siguiente linea cuando al llegar a la función
"Aleatorio.Entre()" [RandBetween]
ActiveCell.Offset(0, 0) Application.WorksheetFunction.Index(miRUno, Match(RandBetween(1, 150),
miRInd, 0))
ActiveCell.Offset(0, 2).Select
ActiveCell.Offset(0, 0) Application.WorksheetFunction.Index(miRDos, Match(RandBetween(1, 150),
miRInd, 0))
contador = contador + 1
ActiveCell.Offset(0, -1).Select
Loop
End Sub
Creería que me puede estar faltando la definición de alguna función o
algo así, pero dejo la inquietud por si alguien puede, quiere y desea
darme una mano con el tema.
Gracias desde ya!
Leer las respuestas