Traslado aleatorio de datos entre listas

Entrada núm: 2 of 2 de la serie Excel y LibreOffice Calc

En el foro Necesitomas.com un usuario plantea el problema del traslado aleatorio de datos entre listas. Partiendo de una lista inicial, el click en un botón debe traducirse en el paso de datos uno a uno y de forma aleatoria a una nueva lista. Además el dato pasado debe desaparecer de la primera lista.

Solucionamos el problema a través de una macro que en primer lugar hace la carga de datos a través de la selección previa y nos avisa si tal selección no está bien hecha. La carga se hace a través de un bucle muy simple de tipo For-Next. Posteriormente se genera un número aleatorio entre 1 y el total de elementos de la selección. En el caso de Excel he usado la función de hoja Randbetween, pero en el caso de LOCalc no podemos recurrir a este tipo de expresiones, por lo que la generación corre a cargo de una sentencia muy simple que serviría para ambos casos:

Cint(1+ Rnd()*Selection.Cells.Count)

El siguiente paso es la localización del valor correspondiente a ese aleatorio y su traslado al lugar correspondiente de la columna elegida como destino. En mi caso he elegido la columna D, o sea Cells(i,4). Finalmente solo nos queda localizar el valor traspasado en la lista original y reorganizar los datos que estén situados entre esta posición y el final.

He aquí el código de la macro para Excel:

Pasar Aleatoriamente A Otra Lista
Pasar Aleatoriamente A Otra Lista
pasar-aleatoriamente-a-otra-lista.zip
14.9 KiB
17 Downloads
Details

Series Navigation<< Ocultar filas con VBA en Excel y LibreOffice Calc

Comments

So empty here ... leave a comment!

Deja tu comentario aquí:

Sidebar



A %d blogueros les gusta esto: