Permutar aleatoriamente datos entre columnas y copiar en otra ubicación
publicado
Hola a todos,
Para una simulación docente utilizo un archivo de Excel que contiene columnas pareadas de datos que forman grupos. Adjunto archivo con datos y código para se entienda mejor lo que tengo y lo que necesito.
Con esos datos quiero:
·Que en determinados puntos de cada par de columnas (mismo color) se permuten datos de forma aleatoria.
·Que el resultado el proceso de permuta se copie en una nueva ubicación.
·Que el proceso se realice para todos los grupos de datos hasta acabar.
Que es lo que tengo:
·He escrito una macro que realiza correctamente todo el proceso (está en el archivo y contiene comentarios en cada paso indicando lo que se hace).
·EL PROBLEMA es que cuando se trabaja con muchos grupos de datos (cientos o miles) el proceso se ralentiza bastante.
Por ello:
·Os agradecería enormemente si alguien pudiera sugerir una manera de escribir la macro (o mejor proporcionar el código) de modo que, aunque se utilicen grandes cantidades de grupos de datos, el proceso se realice de forma más rápida que ahora.
Contenido del archivo xlsm que adjunto:
·4 hojas. En la primera hay 4 grupos de datos. En la segunda se añade a los datos anteriores el resultado esperado. La tercera (20 Grupos) y la cuarta (100 Grupos) son datos adicionales por si se quiere probar con mayores cantidades de grupos de datos.
·En cada hoja, en la parte superior, hay dos botones. El de generar subgrupos permite ejecutar la macro y obtener el resultado. El de borrar subgrupos permite reutilizar la hoja.
Muchas gracias de antemano por vuestras sugerencias. Espero que a alguien le pique la curiosidad con este tema y suba sugerencias o soluciones.
Hola a todos,
Para una simulación docente utilizo un archivo de Excel que contiene columnas pareadas de datos que forman grupos. Adjunto archivo con datos y código para se entienda mejor lo que tengo y lo que necesito.
Con esos datos quiero:
· Que en determinados puntos de cada par de columnas (mismo color) se permuten datos de forma aleatoria.
· Que el resultado el proceso de permuta se copie en una nueva ubicación.
· Que el proceso se realice para todos los grupos de datos hasta acabar.
Que es lo que tengo:
· He escrito una macro que realiza correctamente todo el proceso (está en el archivo y contiene comentarios en cada paso indicando lo que se hace).
· EL PROBLEMA es que cuando se trabaja con muchos grupos de datos (cientos o miles) el proceso se ralentiza bastante.
Por ello:
· Os agradecería enormemente si alguien pudiera sugerir una manera de escribir la macro (o mejor proporcionar el código) de modo que, aunque se utilicen grandes cantidades de grupos de datos, el proceso se realice de forma más rápida que ahora.
Contenido del archivo xlsm que adjunto:
· 4 hojas. En la primera hay 4 grupos de datos. En la segunda se añade a los datos anteriores el resultado esperado. La tercera (20 Grupos) y la cuarta (100 Grupos) son datos adicionales por si se quiere probar con mayores cantidades de grupos de datos.
· En cada hoja, en la parte superior, hay dos botones. El de generar subgrupos permite ejecutar la macro y obtener el resultado. El de borrar subgrupos permite reutilizar la hoja.
Muchas gracias de antemano por vuestras sugerencias. Espero que a alguien le pique la curiosidad con este tema y suba sugerencias o soluciones.
Saludos.
PermutaDatosGrupos_D1.2.xlsm.zip