¿Ayuda con excel, no se como proceder.?

Hola, Lucas,como te va? Un gusto!
Necesito pedir ayuda para hacer lo siguiente
Tengo que hacer lo que a continuación explico, pero no se como.
Paso a explicarl
Tengo un excel con 4 hojas, "hoja 1", "1", "2" y "3". Las tres ultimas hojas, están vacías, por el momento.
La única hoja con datos, "hoja 1".
En el excel tengo esto:


Está filtrado, y en la columna que dice merito, está ordenado de mayor a menor.
Lo que necesito es lo siguiente:
Hacer automáticamente, que se lea desde la columna, b2, hasta la d2. E ir uno por uno, desde arriba para abajo, copiando y pegando toda la fila, en una de las ultimes tres hojas, dependiendo de que opción haya en cada celda. O sea, si en la fila 2, la "opción 1", esta en la columna "hoja 1", esa fila, se debería copiar en la hoja "1". En la fila 4, la primer opción es en la hoja "2" por ende, en la hoja "2" es donde se debería copiar esa fila.
La cosa, es que necesito que se pueda copiar solamente x cantidad de filas por hoja, por ejemplo, en la hoja "1" solo hay cupo para copiar una fila, en la "2" dos filas y en la "3" 1 fila
O sea que quedaría asi: en la hoja "1" va la segunda fila, en la hoja "2" van la tercera y cuarta fila dado que la fila 3 no puede ir a la hoja "1" aunque sea su primer opción, porque la hoja 1 ya esta llena con la primer fila, entonces va a su segunda opción, si su segunda opción también estaría llena, iría a su tercer opción y asi sucesivamente. Y en la hoja "3" va la quinta fila, porque como no se metió ninguna fila todavía en la hoja "3", la fila 5, puede ir ahi, sin problemas.
Espero que se haya y que me puedas ayudar, te los agradecería mucho.

1 respuesta

Respuesta

Espero estés de maravilla!

Te soy sincero. No entiendo.

¿Podrías explicarte de otra manera? ¿Para qué necesitas hacer esto? ¿Cuál va a ser su funcionalidad?

Bendiciones!

Lucas.

La función es asignar alumnos a distintas comisiones

Los alumnos se inscriben, y deben elegir entre varias comisiones, en este caso, 3. Aunque pueden ser mas.

Se inscriben por orden de prioridad. Osea que el alumno elige a sus 3 comisiones por prioridad de primera a ultima. Por eso se ve en este ejemple las opciones de 1 a 3.

Ahora, en cada comisión, solo pueden entrar x cantidad de alumnos.en la comisión 1, que seria la hoja "1" , solo puede entrar 1 alumno, en la comisión 2, que seria la hoja "2" solo entrarn 2, y en la comisión 3, que seria la hoja 3, solo pueden entrar 2 alumnos,

Se entiende?

En un foro, una persona me ha escrito

este codi, que parece que hace lo que necesito:

Sub blah() 
 Set DestSheets = Sheets(Array("pageB", "pageC", "pageD")) 
 Limits = Array("", 1, 2, 2) 
 DestnRow = Array("", 1, 1, 1) 
 For Each rw In Sheets("page1").Range("B1:D5").Rows 
 v = Application.Index(rw.Value, 1, 0) 
 If v(1) > v(2) Then temp = v(2): v(2) = v(1): v(1) = temp 
 If v(2) > v(3) Then temp = v(2): v(2) = v(3): v(3) = temp 
 If v(1) > v(2) Then temp = v(2): v(2) = v(1): v(1) = temp 
 For i = 1 To 3 
 x = Application.Match(v(i), rw, 0) 
 If Limits(x) > 0 Then 
 rw.Copy DestSheets(x).Cells(DestnRow(x), 1) 
 DestnRow(x) = DestnRow(x) + 1 
 Limits(x) = Limits(x) - 1 
 Exit For 
 End If 
 Next i 
 Next rw 
End Sub

Ahora, me podrías ayudar a modificar este código, para que si yo quiero agregar mas columnas, en vez de solo 3, como hay en el código.

Lamentablemente mis conocimientos no lograrían solucionar tu consulta.

Mil disculpas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas