Cómo usar las tablas de VBA en Excel para crear una lista de personal simple

Una de las tareas más frustrantes y prolongadas de una oficina puede ser la creación de la lista de personal. Con la constante demanda de cambios debido a vacaciones, ocasiones especiales o ausencias del personal, la mayoría de los administradores están demasiado ocupados creando listas para poder desarrollar un mejor sistema.

Con unas pocas líneas de código VBA, crearemos la base de un sistema de listas de personal que se enumeran todos los días de la semana y los empleados disponibles para trabajar ese día.

Asociación de matrices para crear una lista

Simplemente necesitamos una lista de miembros del personal que indique los días en que están disponibles para trabajar. Luego los comparamos con cada día de la semana para generar una lista de empleados y los días que trabajan.

    Joe Esposito, lun mar. 
Maria Costello, jue vie sáb

La lista de empleados y días disponibles se mantiene en una hoja de trabajo titulada "Empleados". Nuestro código simplemente coincidirá. cada día de la semana con la disponibilidad registrada para cada miembro del personal:

    & # 39; cree una lista de miembros para cada día de la semana e indique el nombre de la persona disponible 

Dim Roster As New Collection

& # Establezca la hoja y seleccione el número de días disponibles para el empleado
Hojas ("empleados")
Playa ("a2"). CurrentRegion.Columns (2) .Seleccione

Si usa un delimitador para crear matrices, la opción correcta siempre es "|" Pipe personaje en egipto. Una coma puede causar problemas porque los datos reales pueden contener comas que pueden interrumpir la matriz.

    & # 39; cree una serie de días de la semana 
días = Dividir ("Lunes | Miércoles | Jueves | Viernes | Días", "|")

& # 39; compare cada día de la semana con los días en que cada empleado está disponible
para x = 0 A UBound (days)
workers = ""

& # 39; si el día de la semana corresponde a la disponibilidad de empleados, agréguelo a la lista de trabajadores de ese día
para cada c en la selección

Si InStr (ajuste (c.Value), días ( x))> 0 Entonces

workers = workers & c.Offset (0, -1) .Value &, "

End If
Next
workers = days (x) &": "& Medio (trabajadores, 1, Len (trabajadores) - 1)

[1945] 19659002] Ahora tenemos una lista de trabajadores disponibles para el día actual y los agregaremos a la lista de la lista antes de pasar al siguiente día de la semana lista.
Siguiente

Código de salida
Todo lo que queda es imprimir la lista de la lista que tengo una lista de trabajadores disponibles para cada día del El siguiente paso sería presentar la lista en un formato de distribución más fácil de usar.

    Lunes: Joe Eposito, Peter Fargo, Lily Markham 
Martes: Joe Eposito, Lily Markham, Iain Malcolm
Matrimonio: Joe Eposito, Lily Markham, Iain Malcolm
: Maria Costello, Peter Fargo, Markham Lily, Iain Malcolm
por: Maria Costello
Sentado: Maria Costello
Sol: Peter Fargo, Lily Markham

Mejoras en el código VBA
Es posible desarrollar un trabajo en equipo C & # 39; es una tarea compleja pero es importante para empezar en alguna parte Una vez que se establece un sistema básico, se puede agregar sin perder de vista el objetivo principal. Aquí hay algunas sugerencias:

  • Uso de números aleatorios para generar días de lista cuando el número de empleados es bajo
  • Resalte los días de la semana que requieren su atención
  • Permita que el personal clasifique los días de ahorro donde se les puede llamar para trabajar

Resumen
Una lista de personal tendrá una estructura diferente para casi todas las organizaciones. Sin embargo, con un poco de planificación y conocimiento de Excel y VBA, casi siempre será posible producir un proceso que sea una mejora sobre el procedimiento actual.



Plantillas de excel

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *