Llamar macro, pero que funciones se ejecuten en otra hoja
Con mis pocos conocimientos que tengo y a manera de milagro... Pude realizar exactamente lo que necesito, el problema es que todo funciona perfecto pero en otra hoja, y si quiero aplicar lo mismo en la hoja que necesito pues falla.
La idea de todo esto es que pueda insertar números consecutivos de acuerdo a la cantidad de una celda "C1", los inserte y los desordene, a los números insertados que me copie hasta alcanzar la cantidad de 40 filas, es decir. En la celda C1 me pide formar 5 grupos, entonces copiaría 8 veces esos grupos ya desordenado.
En resumen todo esto para crear grupos de estudiantes con la cantidad que yo elija y aleatorio.
Adjunto el conjunto de macros que tuve que adaptar y crear para lograr lo que necesito con lo poco que se ...
(Es extenso debido a que estoy tomando en cuenta si quisiera formar solo 2 grupos.)
Sub consecu()
With Range("a1")
Range(.Range("a1"), .End(xlDown)).ClearContents
.Value = 1
.AutoFill .Resize(Range("C1")), xlFillSeries
End With
Range("a1", Range("a1").End(xlDown)).Select
Call desSeleccion
End Sub
Sub desSeleccion()
Dim Elem&, Temp&, i&
Dim Orden As New Collection
Application.ScreenUpdating = False
With Selection
Elem = .Rows.Count
On Error Resume Next
Do
Temp = Int(1 + Rnd * Elem)
Orden.Add Temp, CStr(Temp)
Loop Until Orden.Count = Elem
On Error GoTo 0
For i = 1 To Elem
.Range("A" & i) = Orden.Item(i) & "|" & .Range("A" & i)
Next i
.Sort .Range("a1"), xlAscending
For i = 1 To Elem
.Range("A" & i) = Mid(.Range("A" & i), 1 + InStr(1, .Range("A" & i), "|"))
Next i
End With
Range("a1", Range("a1").End(xlDown)).Copy
Range("a1").End(xlDown).Offset(1, 0).Select
ActiveSheet.Paste
Call grupo2
Call grupo3
Call grupo4
Call grupo5
Call grupo6
Call grupo7
Call grupo8
Call grupo9
Call grupo10
Call grupo11
Call grupo12
Call grupo13
Call grupo14
Call grupo15
Call grupo16
Call grupo17
Call grupo18
Call grupo19
Application.ScreenUpdating = True
End Sub
Sub grupo2()
Range("a1").End(xlDown).Offset(1, 0).Select
ActiveSheet.Paste
End Sub
Sub grupo3()
Range("a1").End(xlDown).Offset(1, 0).Select
ActiveSheet.Paste
End Sub
Sub grupo4()
Range("a1").End(xlDown).Offset(1, 0).Select
ActiveSheet.Paste
End Sub
Sub grupo5()
Range("a1").End(xlDown).Offset(1, 0).Select
ActiveSheet.Paste
End Sub
Sub grupo6()
Range("a1").End(xlDown).Offset(1, 0).Select
ActiveSheet.Paste
End Sub
Sub grupo7()
Range("a1").End(xlDown).Offset(1, 0).Select
ActiveSheet.Paste
End Sub
Sub grupo8()
Range("a1").End(xlDown).Offset(1, 0).Select
ActiveSheet.Paste
End Sub
Sub grupo9()
Range("a1").End(xlDown).Offset(1, 0).Select
ActiveSheet.Paste
End Sub
Sub grupo10()
Range("a1").End(xlDown).Offset(1, 0).Select
ActiveSheet.Paste
End Sub
Sub grupo11()
Range("a1").End(xlDown).Offset(1, 0).Select
ActiveSheet.Paste
End Sub
Sub grupo12()
Range("a1").End(xlDown).Offset(1, 0).Select
ActiveSheet.Paste
End Sub
Sub grupo13()
Range("a1").End(xlDown).Offset(1, 0).Select
ActiveSheet.Paste
End Sub
Sub grupo14()
Range("a1").End(xlDown).Offset(1, 0).Select
ActiveSheet.Paste
End Sub
Sub grupo15()
Range("a1").End(xlDown).Offset(1, 0).Select
ActiveSheet.Paste
End Sub
Sub grupo16()
Range("a1").End(xlDown).Offset(1, 0).Select
ActiveSheet.Paste
End Sub
Sub grupo17()
Range("a1").End(xlDown).Offset(1, 0).Select
ActiveSheet.Paste
End Sub
Sub grupo18()
Range("a1").End(xlDown).Offset(1, 0).Select
ActiveSheet.Paste
End Sub
Sub grupo19()
Range("a1").End(xlDown).Offset(1, 0).Select
ActiveSheet.Paste
End Sub
Aqui funciona bien (hoja temp.grupos)
Esta es la hoja en la que deberia funcionar (Grupos)
Muchas gracias a todos por su tiempo