Cómo usar VB para hacer un sistema de pase de lista aleatorio en EXCEL
Escribí una función personalizada para ti, pruébala. El código es el siguiente:
Función Myrand(PartAre As Range, Part As String) As String
'PartAre es el área donde se encuentra el departamento;
'La parte es el departamento que deseas verificar aleatoriamente, puede ser un carácter o una celda
'por ejemplo: =Myrand($A$1:$A$8,"ENG") o =Myrand($A $1:$A$8,A3)
partnum = 0
Para cada m en PartAre
tmpStr = m.Text
Si UCase(tmpStr) = UCase(Part) Entonces partnum = partnum 1
Siguiente m
randnum = Int(partnum * Rnd()) 1
partnum = 0
Para cada m en PartAre
tmpStr = m.Text
Si UCase(tmpStr) = UCase(Part) Entonces
partnum = partnum 1
Si partnum = randnum Entonces salir para
Finalizar si
Siguiente m
Myrand = Cells(m.Row (), m.Column() 1 ).Text
Función final
Uso:
Los departamentos están en A1~A8 y el personal está en B1~B8 (la función toma automáticamente el personal de la columna después del departamento), luego ingrese la fórmula en otras celdas:
=Myrand($A$1:$A$8,"ENG") o = Myrand($A$1:$A$8,A3)
Nota: El contenido completado en A3 es ENG
Si no estás seguro, puedes saludarme.
¡Buena suerte!