Red de conocimiento informático - Material del sitio web - Cómo usar VB para hacer un sistema de pase de lista aleatorio en EXCEL

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!