Traducir el blog
Turnos Urgencias Hospital - Fase 3 Ejecución 2
En el artículo anterior adjunté el Prototipo 1 de la Fase 3 de Ejecución del proyecto:
En esta entrada adjunto el Prototipo 2 con las siguientes funcionalidades:
- REGISTRAR: nuevo empleado o actualizarlo. Se deben rellenar todos los campos obligatorios y no debe existir el Nº Empleado en la Base de Datos para registrarlo por primera vez. Si ya existe el Nº Empleado se trata de una actualización.
- CHEQUEAR_REGISTRO: de los campos obligatorios
- BUSCAR_Empleado: en la Base de Datos
- CHEQUEAR_EMPLEADO: por si hay que actualizar sus datos y sus capacidades
- ACTUALIZAR_EMPLEADO: en la Base de Datos y en Capacidades
- REGISTRAR_EMPLEADO: en la Base de Datos y en Capacidades
Descripción del Prototipo 2
En esta imagen gif animada aparecen las 3 hojas involucradas en el registro y búsqueda de empleados y sus capacidades:
Con los botones amarillos de arriba se puede ir a las 3 hojas:
- REGISTRO: Permite limpiar los datos, registrar a un empleado y sus capacidades y buscar un empleado en la base de datos.
- Se introducen los datos y capacidades (con un desplegable: SI o NO) de un empleado. Todos los campos son obligatorios.
- Botón LIMPIAR para limpiar los datos y capacidades.
- Botón REGISTRAR para introducir los datos del empleado en las hojas: 'BASE DE DATOS' y 'CAPACIDADES'.
- Botón BUSCAR para buscar un empleado por su Nº Empleado o Nº Plaza o por parte de su Nombre y Apellidos.
- BASE DE DATOS: Tabla con los datos de cada empleado:
- Nombre y Apellidos
- Nº Empleado
- Nº Plaza
- Teléfono
- Correo Electrónico
- CAPACIDADES: Tabla con las capacidades de cada empleado:
- Nombre y Apellidos
- Reanimación
- Observación
- Respiratorio
- Polivalente
- CA
- CB
Descarga del Prototipo 2
Descarga este 2º prototipo desde Google (con el botón "Excel Download") o desde el enlace a Microsoft OneDrive:
Base de datos TCAES - PW2.xlsm
Abre el archivo, permite la edición y habilita el contenido y las
macros para probar el Prototipo 2 para el
cálculo de ubicaciones en los turnos del Servicio de Urgencias de un
hospital.
Subida al foro del Prototipo 2
Este prototipo lo subí al foro.todoexcel.com en el siguiente mensaje:
Urgencias hospital-Rotación puestos trabajo a turnos - Mensaje #10
En ese mensaje le dije a Toyce que:
Para estudiar el flujo de este programa, deberías tener tiempo para analizar las macros, que se alejan del tipo de código que genera el Grabador de Macros, con el que todos empezamos a programar en lenguaje VBA.
¿Quién no ha aprendido VBA grabando macros?
¡Que levante la mano!
Macros del Prototipo 2
Para este prototipo he programado las siguiente macros:
- REGISTRAR: Sirve para registrar por primera vez un empleado o para actualizar los datos y capacidades de un empleado existente:
- Llama a la macro CHEQUEAR_REGISTRO para comprobar que hay datos en los campos obligatorios antes de registrar al empleado.
- Si faltan datos obligatorios aparece el mensaje: "Para poder registrar al empleado faltan datos obligatorios: " & sObligatorio, indicando qué dato falta.
- Si están todos los datos obligatorios, llama a la macro BUSCAR_Empleado por su Nº Empleado.
- Si no se encuentra el Nº Empleado en la Base de Datos, se hace la pregunta: "¿Quiere registrar al nuevo nº empleado: " & sNúmEmpleado & "?"
- Respondiendo que Sí se llama a la macro REGISTRAR_EMPLEADO, que realizará el registro de los datos y capacidades del empleado en las correspondientes tablas.
- A continuación llama a la macro BUSCAR que busca al empleado en la Base de Datos y copia sus datos en el Registro.
- Si ya se encuentra el Nº Empleado en la Base de Datos, se llama a la macro CHEQUEAR_EMPLEADO, por si hay que actualizar sus datos y sus capacidades.
- Si se hay cambios en los datos del empleado, se hace la pregunta: "¿Quiere actualizar el empleado nº: " & sNúmEmpleado & "?"
- Si se responde que Sí, se llama a la macro ACTUALIZAR_EMPLEADO que actualizará los datos y capacidades del empleado en la Base de Datos.
- CHEQUEAR_REGISTRO: Comprueba que se han introducido todos los datos obligatorios antes de registrar o actualizar a un empleado.
- Si falta algún dato obligatorio, lo selecciona en la hoja 'REGISTRO' y devuelve el nombre del campo obligatorio que está vacío.
- Si están informados todos los campos obligatorios, devuelve un valor vacío.
- BUSCAR_Empleado: Busca al empleado: en la Base de Datos por:
- Nº Empleado completo, con la función: Find(sNúmEmpleado, , , xlWhole)
- Una parte de Nombre y Apellidos, con la función: Find(sNúmEmpleado, , , xlPart)
- Nº Plaza completo, con la función: Find(sNúmEmpleado, , , xlWhole)
- Si se encuentra al empleado, devuelve el número de fila.
- Si no se encuentra devuelve un cero y muestra el mensaje: "No se ha encontrado ningún empleado con " & sTipo & ": " & sNúmEmpleado
- REGISTRAR_EMPLEADO: Registra al empleado en la Base de Datos y en Capacidades:
- Registra los datos del empleado creando una nueva fila en la tabla de la Base de Datos con:
- Dim miNuevaFila As ListRow
- Set miNuevaFila = Sheets("BASE DE DATOS").ListObjects("TABLA_BASE_DATOS").ListRows.Add
- With miNuevaFila
- .Range(1) = Range("REGISTRO_Nombre").Value2
- ...
- End With
- Registra las capacidades del empleado creando una nueva fila en la tabla de Capacidades con:
- Set miNuevaFila = Sheets("CAPACIDADES").ListObjects("TABLA_CAPACIDADES").ListRows.Add
- With miNuevaFila
- .Range(1) = Range("REGISTRO_Nombre").Value2
- ...
- End With
- BUSCAR: busca al empleado en las tablas de Base de Datos y de Capacidades, y copia sus datos en el Registro:
- Llama a la macro BUSCAR_Empleado, que lo busca en la Base de Datos por el Nº Empleado, o por parte del Nombre y Apellidos, o por su Nº Plaza.
- Si lo encuentra, llama a la macro CAMBIAR_HIPERVINCULOS, que cambia los hipervínculos a las hojas 'BASE DE DATOS' y 'CAPACIDADES'.
- Llama a la macro RESALTAR_ELIMINADO para quitar lo resaltado en las tablas de Base de Datos y de Capacidades.
- Llama a la macro RESALTAR_FILA para resaltar la fila del empleado en las tablas de Base de Datos y de Capacidades.
- Llama a la macro COPIAR_Empleado para copiar los datos y capacidades en la hoja 'REGISTRO'.
- CAMBIAR_HIPERVINCULOS: para seleccionar la fila del empleado encontrado en los botones con los hipervínculos en las 3 hojas, llamando a la macro CAMBIAR_HIPERVINCULO_HOJA
- CAMBIAR_HIPERVINCULO_HOJA: es la macro que cambia los hipervínculos para ir a la fila del empleado encontrado:
- ActiveSheet.Shapes.Range(Array("Ir a " & sHoja)).Select
- Selection.ShapeRange.Item(1).Hyperlink.SubAddress = "'" & sHoja & "'!A" & lEmpleado
- RESALTAR_ELIMINADO: Elimina las filas resaltadas de las dos tablas.
- RESALTAR_FILA: Resalta en color verde la fila del empleado encontrado en las dos tablas.
- COPIAR_Empleado: Copia los datos y capacidades del empleado en la hoja 'REGISTRO'.
- CHEQUEAR_EMPLEADO: Comprueba si hay cambios en los datos y capacidades del empleado.
- ACTUALIZAR_EMPLEADO: Actualiza los datos en las tablas de Base de Datos y de Capacidades.
Vídeo Fase de Ejecución 2 - Turnos Urgencias Hospital
En este vídeo comento las macros necesarias para limpiar, registrar, actualizar y buscar datos de empleados TCAES.
Lo mejor es que descargues la plantilla y analices las macros y, si tienes alguna duda, escribe un comentario más abajo y te intentaré responder lo más pronto posible.
En el próximo artículo trataré la Fase 4 de Control del proyecto.
Mi lista de blogs
-
Nueva Función TRIMRANGE y Nuevo Operador de Rango - Hoy vengo con novedades emocionantes en Excel: Microsoft ha liberado una nueva función llamada TRIMRANGE y ha introducido un nuevo […] The post Nueva Fun...Hace 1 día
-
Divisor propio mayor que la raíz cuadrada - Explorando por OEIS, encontré un tipo de números en https://oeis.org/A332269 y me ha apetecido desarrollar el tema mediante nuestras funciones en hoja ...Hace 2 días
-
PASAR DATOS A FILAS SEGÚN ELEMENTOS ENTRE GUIONES UTILIZANDO POWER QUERY - Hola a todos! Después del post anterior (aquí) en el que realizábamos una tarea utilizando VBA, me gustaría replicar el mismo trabajo pero usando Power …...Hace 3 días
-
3DFrame-py; with non-linear analysis - Exactly a year since the previous update I have revised the 3DFrame-py spreadsheet with the addition of non-linear analysis options. The new files can be d...Hace 4 días
-
Tiempo pasado, presente y futuro - 🔝*To translate this blog post to your language, select it in the top left Google box. * AVISOS que salvan vidas Haciendo caso de las posibles inund...Hace 6 días
-
Color, Conditions, and Copilot: How to save time using conditional formatting with Copilot in Excel - Hi everyone, this is part 11 in a series of posts to show you some of the things that are possible to do with Copilot in Excel. *What is conditional f...Hace 6 días
-
5 Ways to Calculate Hours Worked in Microsoft Excel - Wondering how to calculate hours worked in Excel? You’ve reached the best resource to learn from. So, tag along! Calculating time values in Microsoft Excel...Hace 1 semana
-
Insertar un objeto vinculado en Excel es fácil y práctico - Aprende a insertar un objeto en Excel. Ya puedes traer objeto vinculado en Excel de manera más avanzada que con los comandos Copiar y Pegar te permiten t...Hace 1 semana
-
Debra’s Excel News–October 2024 - New PIVOTBY function, get ready for Spreadsheet Day, and more, in this month’s Excel news. Visit my Excel website for more tips, tutorials and videos, and ...Hace 4 semanas
-
4 ejemplos de utilización de validación de datos con fórmulas - Ya sabes que la herramienta de Validación de datos es de gran utilidad para controlar y restringir la introducción de datos y así, asegurarte de…Hace 1 mes
-
Trucos de Excel: Referencias Relativas, Absolutas y Mixtas Explicadas ✨ [VIDEO] - ¡Hola a todos! Hoy hablaremos sobre un tema muy importante para quienes usan Excel: los tipos de referencia. Las referencias son fundamentales al momento d...Hace 1 mes
-
How To Predict Bearing Life With Excel - When you work in mechanical engineering, understanding the reliability and performance of bearings under various conditions is crucial. Bearings are the co...Hace 2 meses
-
How to calculate WEEKNUMBER in Month / Quarter / Year with Excel? - Let's say you have daily data and your boss wants to see the trends by week in month or week in quarter? How do you calculate the week number in a month ...Hace 2 meses
-
Excel: Cálculo de Finiquito, Beneficios Sociales Bolivia - Es importante tener nociones mínimas acerca el cálculo del finiquito y Beneficios Sociales de un trabajador en Bolivia, ya sea para la verificación de nues...Hace 2 meses
-
-
Minutos de juego y puntos. El Espanyol, sus finales de partido y mis enfados - Pienso que el Espanyol este 2024 se está dejando muchos puntos al final de los partidos. Cuando el ... Leer más » The post Minutos de juego y puntos. El ...Hace 7 meses
-
TikTok’s search evolution - 2 in 5 Americans use TikTok as a search engine. Nearly 1 in 10 Gen Zers are more likely to rely on TikTok than Google as a search engine. More than half of...Hace 7 meses
-
MASTERCLASS Gratis – Gráfica de Gestión Proyectos en #EXCEL. - Aprende a crear un Gráfico de CURVA S, ideal para GESTIÓN DE PROYECTOS, porque te permite identificar como esta tu proyecto tanto en COSTOS como en TIEMP...Hace 8 meses
-
Interés compuesto con Excel - Este es un mapa mental de las distintas funciones Excel para calcular el valor del dinero en el tiempo aplicando la ley de capitalización compuesta. En ...Hace 9 meses
-
Demos cursos de Excel 2007, 2010, 2013, 2016, 365 - Puedes consultar las demostraciones de los siguientes capítulos de los cursos Excel. Demo cursos ExcelHace 9 meses
-
Unblocking and Enabling Macros - When Windows detects that a file has come from a computer other than the one you're using, it marks the file as coming from the web, and blocks the file....Hace 1 año
-
-
Navigating Outlook Favorites - I have these four favorites defined in Outlook: From the inbox, I could hit Shift+F6 to get into the Favorites area but sometimes I would end up in no man’...Hace 1 año
-
Office Scripts: Trabajando con Tablas - [image: Office Scripts: Trabajando con Tablas] Me he dado cuenta que últimamente solo escribo de lenguaje M (es mi pequeño vicio)... pero hay que liberar l...Hace 1 año
-
Progress on the Block Protocol - Since the 1990s, the web has been a publishing place for human-readable documents. Documents published on the web are in HTML. HTML has a little bit of… Re...Hace 1 año
-
Hello world! - [image: Hello world!] Welcome to WordPress. This is your first post. Edit or delete it, then start writing!Hace 2 años
-
Decálogo para realizar Trabajos de Fin de Grado (TFGs) y de Fin de Máster (TFMs) - 1.- Tanto TFGs como TFMs son un requisito para graduarse a la vez que una oportunidad para aprender. Así, el tiempo que se le dedica es muy variable. De...Hace 3 años
-
London Excel Meetup Workbooks - The workbooks used in my presentation on “Analytical and Interactive Dashboards in Excel” at the London Excel Meetup, September 3, 2020Hace 4 años
-
Cálculo de jornada que termina al día siguiente (Power Query) y despedida - [image: Cálculo de jornada que termina al día siguiente (Power Query) y despedida] Este blog se ha ocupado de cálculos de tiempo con bastante intensidad, c...Hace 4 años
-
Visualize parts and whole - combine clustered column and stacked column charts - *Inga: Disa what?* *Igor: -ppeared.* by The FrankensTeam ------------------------------ Really it was 3 years ago we posted our last article? *Freddy: Th...Hace 5 años
-
-
-
-
-
-
-
-
-
No Response to "Turnos Urgencias Hospital - Fase 3 Ejecución 2"
Leave A Reply
Indícame las erratas que encuentres y qué es lo que te gustaría ver en los próximos artículos.