How To Create A Dynamic Appointment Scheduler In Excel [Part 1]

How To Create A Dynamic Appointment Scheduler In Excel [Part 1]

hola, soy Randy con Excel para autónomos y hoy una capacitación genial en la que vamos a crear un programa de citas de Excel que es completamente dinámico que puede aceptar múltiples citas para un solo día y cualquier número de meses y años es completamente dinámico así que estoy muy emocionado de mostrarles eso hoy y cómo lo hicimos con los formatos de fórmulas y técnicas, así como la codificación de cómo se hace todo esto, así que quédense con nosotros, será un entrenamiento épico, ¿de acuerdo? Gracias. tanto por unirse a mí hoy, este programador de Excel es increíblemente dinámico en el que podemos crear una programación de citas totalmente personalizada, podemos programar cualquier cita simplemente escribiendo el nombre de la cita y luego se guarda automáticamente en el programa, podemos ir a la siguiente mes y luego regrese y haga que esa información aparezca también y también tenemos la capacidad de darle al usuario un día de inicio diferente podemos comenzar esto el domingo comenzar la semana el lunes martes o el sábado, también podemos cambiar la hora de inicio, también podemos cambiar el intervalo, así que si íbamos a seguir adelante y cambiar a intervalos de 15 minutos o podemos cambiarlo a intervalos de una hora y también podemos cambiar el año programado también está bien, sigamos adelante y comencemos y le mostraremos cómo se hace esto bien en este entrenamiento en particular, vamos a pasar mucho tiempo hablando de rangos con nombre y esos rangos con nombre, como meses correctos o días de la semana, está bien y esos se usan en todas nuestras fórmulas y son realmente muy importantes aquí porque realmente nos ayudan con nuestras fórmulas y también nos ayudan a codificar más rápido, así que le mostraremos cómo se usan esos rangos de nombres tanto en fórmulas como en VBA cody para que podamos crear rápidamente un código preciso que nos ayude a llevar nuestros productos al mercado y al cliente lo más rápido posible, está bien, comencemos, primero tenemos que definir múltiples tipos de rangos con nombre y si observa las fórmulas y el nombre rangos aquí de hecho, verá varios, digamos que hay unos 10 rangos con nombre, tal vez 11 de los que creamos, así que sigamos adelante y repasemos esos para que podamos comenzar a definir cómo hacemos que la base de esta aplicación esté bien y primero de todo lo que he creado es una lista de meses, estos son meses muy simples y para hacer eso, lo he creado y recuerda que en Excel podemos hacerlo simplemente haciendo clic y arrastrando hacia abajo, está bien, así que es muy simple, solo haz es comenzar con el principio y luego continué y creé y luego lo que resalté esto correctamente, todo lo que hice fue ingresar los meses aquí para que pueda escribirlo en meses correctamente si su nombre ahora está clasificado y eso ' Todo eso lo definirá. He hecho lo mismo con los días también. Empiezo con un solo día escribiéndolo con el botón derecho del ratón haciendo doble clic. Oh, eso está demasiado lejos. Bueno, volvamos al sábado. eso y ya lo he definido para usted, pero también puede resaltar todo y luego escribir e en días de semana está bien , así que hemos pasado meses y días de semana también si quieres cambiar el nombre, no va a cambiar aquí, está bien, no lo creo, así que no va a cambiar si quieres cambiar el nombre, ella tendrá que irse en rangos con nombre de fórmula y luego ingrese aquí y luego haga clic en Editar y luego podría editar el nombre aquí, está bien, si desea cambiar el nombre, entonces tiene que hacerlo desde el puente de nombres, está bien, así que tenemos meses que tenemos tengo días, también tenemos tiempos y ahora lo que hice es crear tiempos y quiero darle al usuario la capacidad de agregar un tiempo de inicio correcto y quiero incluir básicamente todos los tiempos en intervalos de 15 minutos, ¿de acuerdo? Así que defina esta lista. Creé una lista de tiempo y comencé a las 12:00 a. m. y luego la siguiente es a las 12:15 y 12:30, así que la forma rápida de crearla es simplemente con: adelante, simplemente resaltando esto y luego extendiéndolo hacia abajo también para que ese sea el mundo y el formato, sigamos adelante y echemos un vistazo al formato que usamos porque en Excel el informante no está aquí, tendremos que configurarlo como un formato de tiempo haciendo clic aquí tiempo y eso incluirá los segundos. No quiero incluir el segundo, así que continuaré y haré clic en más formatos de número y luego continuaré y encontraré el tiempo que quiero sin el segundo, así que usaremos esto si está en horario militar, probablemente querrá seleccionar esto, está bien, así que si estamos así verás que cambia a la hora militar, pero no queremos eso, así que está bien, así que tenemos tiempo para definir y si controlas la flecha hacia abajo, se resaltará todo el tiempo, ¿puedes ver las horas? se ha configurado correctamente, por lo que es útil para definir nuestro tiempo, por lo que tenemos tiempo y ahora intervalos, avancemos y echemos un vistazo a cómo obtuve Quiero intervalos correctos porque quiero poder hacer que el usuario establezca con qué frecuencia esto horario y quiero que cambien poder cambiar eso dentro de un rango específico quiero tener eso en una lista dinámica aquí bien entonces quince treinta y uno ese es el tiempo que quiero ahora , ¿cómo creé eso? Bueno, sabemos que un día es uno en Excel, uno es un día, está bien, eso significa que una hora es un día dividido por 24, está bien si un día dividido por 24 eso es la cantidad de horas y es básicamente un formato decimal correcto y lo he reformateado, así que si quitamos ese formato correcto y volvemos a lo general, veremos que realmente es un formato decimal correcto, pero en Excel tenemos que cambiarlo a un formato de hora bien, así que recuerda que uno es un día completo, por lo que cualquier cosa menor que un día completo será un número decimal, vale, menos de cero, vale, entonces es importante que lo sepamos para llegar a uno y ahora, por supuesto, llegar a 30 puede hacerlo de varias maneras diferentes, podría ser uno dividido por 48 o simplemente podríamos dividir 25 dividido por dos, que es este de aquí dividido por dos y luego 15 minutos es esta una hora dividida por cuatro, así que elegí les mostraré eso y luego he nombrado esos rangos cuando los resaltamos los llamaremos intervalos bien así que esos son intervalos y luego tenemos el Centro de Oakland, así que te lo dejaré claro y sigamos adelante y centremos este para que también quede claro y retrocedamos a una sola fila, está bien, y me pregunto si quiero asegúrese de que estén muy claros para que la forma en que hemos resaltado esto bien continúe y los oscurezca un poco para que podamos ver los encabezados de las columnas un poco diferentes y que quede claro, está bien y luego lo mismo con usted. acabo de enumerar un montón de años y luego continué y nombré ese rango de años y ahora para crear esa lista desplegable, todo lo que tenemos que hacer es ingresar a los campos de datos aquí, los datos ingresan a la validación de datos y luego hacen clic en datos validación y luego siempre seleccionamos la lista correcta y luego seleccionamos los días de la semana y esto es recordar que esto es lo mismo si tuviéramos que hacerlo si es lo mismo que hacer esto, está bien, pero automáticamente ves cuán débil surge esto porque ya hemos nombrado ese rango, pero si tuviéramos que cambiarlo y extenderlo sería Vuelvo enseguida para que veas que sabe que Excel sabe que cuando hemos seleccionado el rango de nombres exacto, se colocará automáticamente para que puedas resaltarlo o también puedes escribir los días de la semana, está bien y luego y luego para verificar y asegurarte de tocar toca de nuevo, está bien, toca de nuevo y concederás a las hormigas bailarinas que te muestran que has seleccionado los datos correctos, por lo que es una excelente manera de verificar tu trabajo y básicamente he pasado por el mismo proceso para el horas de inicio y a través de los intervalos que acabamos de discutir y los años, por lo que esto nos permite configurar rápidamente ahora, ¿cómo seguimos adelante y creamos este calendario? Bueno, ¿por qué no seguimos adelante y echamos un vistazo? Bueno, ahora porque nuestro primer día es dinámico, recuerde que nuestro primer día es un día de semana dinámico, comience aquí si tuviéramos que poner el lunes justo el lunes, está bien, entonces p4i esto es igual a P, así que simplemente este es un enlace a esto aquí, está bien, ahora, ¿cómo creamos el martes que la razón es nosotros? no podemos suponer que va a ser no podemos suponer e que es al día siguiente, porque si va a ser sábado, entonces tenemos que volver a subir, así que básicamente dijimos que acabo de crear un formulario simple que dice si d4 es sábado, entonces haga que este domingo esté bien si no lo es entonces, lo que vamos a hacer es indexar los días de la semana para que los días de la semana, ¿sabes? Esto es lo que ves en los días de la semana verdes que ya están resaltados . está bien, y luego quiero soltarlo uno más, así que quiero encontrar el lunes, ¿dónde está bien, en qué fila está y luego agregaré uno porque quiero hacer zed a la derecha, así que eso es todo lo que tenemos que hacer usando las coincidencias de índice son muy poderosas, permítanme repasar que una vez más vamos a indexar los días de la semana, lo que significa que queremos encontrar algo dentro de esta semana, está bien, así que con el índice necesitamos encontrar dos cosas, necesitamos encontrar una, necesitamos la fila y dos nosotros necesito llamar ok esto aquí es la fila ok esto aquí es una columna ahora vamos a st ay en la misma columna, por lo que las columnas son las más fáciles , pero tenemos que encontrar esa fila, tenemos que encontrar esa fila y la fila es simplemente esta, ubicar el lunes y luego agregar uno a la derecha, ubicar el lunes, agregar uno, está bien, eso es todo lo que tenemos que hacer y nosotros Continué y usé ese índice en todo el proceso, así que solo arrastré y solté ese OK, así que eso es todo lo que tenemos que hacer para ese OK, así que es muy, muy poderoso, así que sigamos adelante y establezcamos esto de nuevo en domingo, eso es lo que yo Estoy acostumbrado y verán que ya configuré el calendario para que se actualice automáticamente, de acuerdo, así que ahora sabemos cómo obtenemos todos los días de la semana de manera dinámica y lo que debemos hacer entonces es seguir adelante y repasar el fórmulas para obtener el calendario está bien, está bien, básicamente ahora recuerdo que discutimos cómo nombramos estos rangos, pero también nombré el campo individual aquí, este campo se llama hora de inicio, está bien, eso significa que cuando escribo las 9 en punto es igual a inicio tiempo bien, me gustaría que no sea necesario, simplemente podemos hacer lo mismo fácilmente está bien, pero hemos nombrado el rango porque es bueno ver que me gusta ver nombres en mis fórmulas porque realmente me ayudan a definir cuándo las fórmulas se vuelven complejas, justo cuando ves esos nombres adentro, es muy fácil entender lo que está pasando. así que solo le insto a que nombre sus campos, incluso si es solo un campo o una celda, a veces, si sabe que usará una fórmula o en VBA, sigamos adelante y nombre eso. fórmula bien, lo que hemos hecho es que he dicho si el día de la semana está bien y ahora quiero saber también una cosa más, tenemos que saber qué día de la semana está bien, eso significa básicamente que lo que quiero decir es si el primer sol si el primer día del mes si el primer día del mes cae en domingo entonces ponlo aquí si no es así deja un espacio en blanco eso es lo que queremos saber si el primer día del mes cae en domingo entonces pon el día aquí si no es así déjalo en blanco ok entonces esa es la idea ahora el problema es que la complejidad es que esto no siempre es el domingo correcto porque esto podría ser lo que sea que establezcan aquí, está bien, entonces la razón es que lo que tenemos que hacer es que tengo que decir si y básicamente lo que he hecho es simplemente poner una fórmula aquí desde este es el primer día de la semana, así que he usado esta fórmula un poco como ayuda. No es necesario. Podríamos. De hecho, podemos poner esto directamente en la fórmula, pero quería separarlos. dicho es d4 d4 cierto qué es este es el primer día de la semana está bien recuerda cuando usamos el partido entre semana está bien este es nuestro primer día hay algunas formas diferentes de hacerlo pero sabemos que este es el número uno está bien dos tres entonces nosotros Seguimos adelante y ejecutamos esta fórmula y esto nos ayuda, así que recuerda que D 42 es el día de la semana y esto cambiará bien si cambiamos esto si cambiamos esto a miércoles, verás que los números aquí abajo cambian cuatro cinco seis siete y luego retrocede uno dos tres para que vea que estos números cambian según el día de la semana y eso nos ayudará a seguir adelante, así que sigamos adelante y volvamos al domingo, sigamos adelante y aumentemos un poco esta columna haciendo doble clic en el domingo, vamos bien, así que sigamos adelante y comencemos, así que básicamente qué Voy a decir que aquí estamos diciendo si esta fecha ahora la fecha es el año programado el mes seleccionado ahora el mes seleccionado es 1b para bien sigamos adelante y echemos un vistazo a esa B para el mes seleccionado que hemos puesto eso mes aquí ahora cuando ese mes cambie esto cambiará bien - si es - si es febrero va a ser - marzo va a ser tres etcétera está bien entonces si la fecha el año programado el mes seleccionado y el primer día de la semana eso equivale a si el día de la semana el día de la semana a la derecha el día de la semana de esta fecha es igual a D 42 es igual a este número aquí abajo recuerda luego pon la fecha luego pon esa fecha bien entonces la fecha es el primer día del año si no es domingo entonces déjalo en blanco o no en eso, está bien, así que he hecho el s se acabó, excepto que agregué algo antes si este es el primer día de la semana, ya no necesitamos probar, no necesitamos probar esta condición, así que si no está en blanco, todo lo que tenemos que hacer es agregar uno aquí, si d5 no está en blanco, entonces sabemos cuál será el día siguiente, será D cinco más uno, está bien, si está en blanco, entonces también tenemos que probar si es el primer día del mes que aterriza. un lunes entonces es el primer día del mes igual a e 42 en este caso correcto recuerda si son dos si son dos si en este caso en enero es correcto entonces es así que en este caso aterriza en un primer bien Entonces , ese es un hecho realmente muy importante que queremos asegurarnos de que usamos, entonces todo lo que hemos hecho es en esta primera fila, solo hemos ejecutado la misma fórmula una y otra vez, está bien , entonces es la misma fórmula y luego es fácil después de ese punto todo lo que es es esta fecha más uno el más uno este más 1 está bien, así que repasamos ahora hacia el final del calendario en las últimas dos filas, se vuelve un poco más complejo nuevamente porque lo que quiero hacer es que quiero averiguar, básicamente, lo que digo es si esto de más 1 si el mes de este día en este momento sabemos nuestro el mes seleccionado es como 1 a la derecha nuestro mes seleccionado números 1 entonces lo que quiero hacer es probar una condición y voy a decir si esto si estas fechas recuerdan que estas son fechas déjame mostrarte esto de nuevo porque yo lo siento, podría ser un poco confuso, vayamos a casa y luego este es un formato personalizado, está bien, este es un formato personalizado, así que en realidad, si le mostramos su formato normal , aparecerá como fecha, verá que esas son todas las fechas bien, sin embargo, solo muestro el día, está bien , sin embargo, es un formato personalizado, así que si volvemos a administrar formatos y solo muestro el día, solo muestro el día D, está bien y eso solo mostrará el día entonces, al hacer eso , solo muestra el día, no necesitamos el mes, podría si algunas personas quisieran mostrarle un mes sabes que podrías podrías en tu calendario puedes cambiar eso tal vez quieras mostrar un mes tal vez quieras mostrarlos como un mes de tres dígitos podrías ir D - em D - mmm eso mostraría que se vería así el primero de enero Verá que algunas personas prefieren que usted también pueda hacer eso si lo desea, por eso solo se muestran los números, pero en realidad estas son todas las fechas, está bien , solo para que sepa que son todas las fechas, pero se muestran pero solo el día. se muestra bien, por lo que es una comprensión importante a medida que avanzamos, así que volvemos a esto, por lo que decimos que si esta fecha más 1 si el mes de eso no es igual a la derecha no es igual al mes seleccionado, entonces parpadea eso significa que es un nuevo mes, por ejemplo, esta fórmula aquí no hay no hay 32 de enero, correcto, no hay ninguno, entonces decimos si el mes de G 29 + 1 G 29 + 1 correcto en este caso sería el 2 de febrero más uno es por un segundo, eso significa que no es el mes seleccionado correcto G 29 el mes de G 29 más 1 es 2, el mes de G 29 más 1 es 2, es febrero, así que no es igual al mes seleccionado, por lo que en este caso está en blanco, está bien, en este caso está en blanco y, básicamente, una vez que sabemos que estas celdas están en blanco, podemos probar cada celda después que todo lo que tenemos que decir es si esta celda anterior está en blanco, entonces haz esta si la celda anterior está en blanco, entonces deja esta en blanco para que avancemos bien, así es como hacemos nuestro calendario y también tenemos formato condicional como tú He visto que me adelanté y coloreé el día actual el día actual Naranja como puede ver y eso se hace a través del formato condicional y sigamos adelante y echemos un vistazo al formato que tenemos en los encabezados en el encabezados, tenemos dos reglas diferentes, una gris si está en blanco, está bien, y esto es muy importante porque no quiero que trabajes demasiado, así que sobre cómo crearlos, está bien, hoy fue fácil porque no hay todo lo que yo Estoy haciendo pruebas para hoy, así que todo lo que hice fue resaltar ht toda la tabla total y luego agregué un grool, ya sabes, formateo condicional de una nueva regla y luego solo puse las celdas de formato que contienen correcto y luego solo fechas correctas y luego hoy, así que eso es todo lo que hice y luego lo formateé así eso fue muy simple porque supongo que si ponemos una fecha aquí con probablemente 122 a 0 1 8 correcto, no funciona porque tengo un pre tengo otro formateador correcto, así que tengo el formato verde que tiene prioridad es en la celda seleccionada y le mostraré cómo funciona, así que básicamente todo lo que hemos hecho, pero ahora para esto, he hecho dos reglas diferentes porque quiero mostrar cualquier cosa que no tenga una fecha. está bien, he usado dos reglas diferentes, una está en los encabezados y todo lo que hice fue resaltar a la derecha manteniendo presionada la tecla Ctrl hacia abajo, resaltó todas las filas afectadas, está bien, ahora esto es realmente importante porque no quiero que tengas que crear formatos condicionales para cada una de las celdas, le mostraremos cómo hacerlo todo de una vez número de control No tengo ninguno en control ahora y estoy resaltando Lo arruiné bien , intentémoslo de nuevo manteniendo presionado el control, bien, y vamos a resaltar cada fila que contiene una fecha, bien, y ahora todo lo que tenemos que hacer es ir a la nueva regla de formato condicional de inicio y vamos a usar una fórmula, está bien, y esto es importante, tenemos que asegurarnos de que la primera celda es la que vamos a desafiar y cuando cambiemos esto a d5 queremos asegurarnos de que no haya signos de dólar no queremos una celda absoluta porque queremos que afecte a cada uno de ellos ahora mantén el mío algo extraño va a pasar y te mostraré que está bien, ¿ qué vamos a hacer ? formato, digamos, formemos en color verde porque quiero mostrarles algo que es diferente. Les mostraré cómo funciona, está bien, y luego d5 es igual a blanco, está bien, otro ste cinco va a cambiar por alguna razón que no entiendo. exactamente por qué cambiará, pero está bien, ahora vuelve allí condicional para reglas del administrador de esteras y asegúrese de que todo diga oh, entonces se ve bien, está bien, así que d5 para que vea que no necesitamos dos reglas, pero solo quería mostrarle cómo va a funcionar, está bien, así que d5 es Mike, recuerde que no hay absolutamente ningún signo de dólar. porque queríamos afectar solo las celdas individuales para que vea cómo funciona bien y sigamos adelante y volvamos aquí y sigamos adelante y eliminemos esa regla, no necesitamos eso, pero quería mostrarles, sigamos adelante y eliminemos eso y básicamente ahora para esta celda aquí para estos hice lo mismo bien porque quiero resaltar usando el control resaltar cada fila y luego, en este caso, también será d5, pero solo asegúrese de que no sea un dólar absoluto. signos, así es como creamos el formato condicional y ahora lo hicimos a través de un código. Quiero saber cuál es la celda resaltada. Está bien. Creé un derecho adicional si hacemos clic en una celda. Quiero que esa celda se vuelva verde. todo bien de nuevo en formato condicional ting administrar reglas y verás esto verde aquí y he hecho lo mismo d5 es igual a M 3 M 3 está bien, sigamos adelante y cerremos eso bien d5 porque tengo tres años, ¿cómo hice eso? M 3 es la fecha la fecha actual , así que básicamente está diciendo que si esta fecha es igual a esta fecha, entonces colorea esto y cómo hice el mismo proceso, resaltó todas estas celdas, está bien, así desplázate hacia abajo manteniendo presionada la tecla ctrl. use una fórmula para determinar que sí está bien, seleccione el primero d5 y puede usar f4 f4 f4 f4 eso lo eliminará, está bien, eso alternará entre simplemente hacer clic en f4 alterna hasta que encuentre el que tiene d5 que es una especie de enlace rápido usando formato f4, está bien, hagamos que sea rojo para que podamos ver bien y qué queremos d 5 es igual a bien D 5 es igual a M qué fue M 4 bien y M 3 M 3 M 3 nunca cambiará bien porque eso siempre va a sea ​​que por lo que uno no puede ser puede ser absoluto y contiene los signos de dólar antes del MN antes de los tres, eso es muy importante, está bien, cuando hacemos clic en Aceptar, está bien , déjame arreglar eso y eso va y mira, quiero mostrarte algo que sucede , Tennessee, mira esto, ves que eso sucede mucho cuando lo hace el celular. no incluirlo todo lo que tenemos que hacer eso es muy común porque simplemente no sé por qué pero sucede todo el tiempo volver atrás cambiar eso a 5 por qué cambia buena pregunta alguien debe saber que alguien puso en los comentarios por qué eso lo cambia siempre cambió de nuevo ok aplicar y cambia ok todo lo que tenemos que hacer es la razón por la que cambia la razón para cambiar aquí no aquí es porque ves que d5 estaba ubicado en ese d5 estaba ubicado en eso entonces cambia pero es posible que desee cambiar lo devolvió pero no es absoluto, tiende a cambiar con las celdas o las agrega algo por alguna razón, solo asegúrese de saber que es normal si por alguna razón no funciona, regrese y cambie eso de nuevo a la forma en que estaba y todo funcionará, podemos eliminar esa regla para n ahora, sigamos adelante y eliminemos eso, así que le mostramos todo el formato condicional que funciona dentro de este calendario aquí tenemos un formato condicional adicional y eso es simple y todo lo que he hecho es si esto lo he agregado Puedo simplemente formatear si hay algún valor aquí, use este verde desvanecido, está bien, de esa manera tengo ese formato condicional y no hay VBA que estos usuarios puedan justificar el pánico , así que es realmente simple, está bien, así que entremos en las tuercas de esto y vea exactamente cómo funciona esto debajo del capó para que podamos ir y ver cómo creamos este calendario directamente en el modelo de VBA, vamos y puede hacer clic en el archivo si no tiene opciones de VBA para llegar a los desarrolladores personalice la cinta y haga clic aquí para la pestaña de desarrolladores si no la tiene visible , puede ingresar aquí y la pestaña de desarrolladores haga clic en visual basic o alt f11 también lo llevará allí , avancemos y veamos lo que tenemos aquí debajo tenemos un poco de codificación en la hoja misma y nosotros tengo algunas macros que nos ayudan a trabajar, no demasiadas y te guiaré a través de ellas , así que no te preocupes demasiado, de acuerdo, tenemos algunas macros, nuestra primera macro es cuando hago clic en una celda seleccionada, quiero algunas cosas que suceda bien Quiero que se cargue ese día Quiero que todos los horarios se carguen bien y ahora recuerde que Excel solo tiene un valor, por lo que la realidad es que los datos de las citas programadas no se están manteniendo aquí, se están manteniendo en otro lugar tan pronto como hacemos clic en eso y dónde están retenidos, bueno, están retenidos aquí en esta base de datos aquí y yo y yo y tenemos uno nuevo para cada año, pero les mostraré cómo programamos eso en automáticamente para crearlo ahora mire, sigamos adelante y creemos una cita para 2019, está bien , cambie la fecha en eso y luego observe cómo sucede la magia ahora tenemos una base de datos para 2019 así nada más que hacer, puedo eliminar eso ahora, está bien y te mostraré cómo se hizo bien, así que ahora podemos ver cómo se hizo volver k a 2018 y lo guiaré a través de cómo lo hicimos también , de acuerdo con el código EDA y elimine eso ahora podemos recrear otros tres segundos, así que no hay problema, no lo necesitamos en este momento y básicamente la idea es muy simple está bien y puede volverse mucho más complejo todo lo que hice fue crear una columna para cada día está bien y esa columna incluye todos los detalles y la idea es simple tan pronto como programemos una cita Fred el 11 a la derecha eso se copia aquí, aquí, ves cómo se copió aquí, hagámoslo de nuevo, está bien, justo debajo de Fred David, está bien, ahí está, David, está bien, así que la idea es traerlo aquí y te mostraré una manera de Oculte estos, puede que no, probablemente no necesite verlos, así que también podemos ocultarlos automáticamente, pero para nuestros propósitos, quiero mostrarle lo que está pasando, así que los mantendré visibles por ahora, está bien, así que la idea es Tan pronto como programemos, queremos que los datos se transfieran al día correcto aquí para que podamos r ellámelo ahora, ¿cómo hacemos eso bien? Volvamos a VBA y le mostraremos cómo lo hacemos bien, así que la idea es y recuerde que vamos a centrarnos ahora en el cambio de la hoja de trabajo, eso significa cuando hacemos un cambio real en la hoja de trabajo, queremos que algo suceda, está bien, ahora cuando hagamos un cambio de M 4 a m 40 M 4 3 M 4 T, ese es el horario de vista del día, está bien, recuerde que está aquí, de M 4 a m 40, estamos diciendo a eso le decimos a Excel cuando hacemos un cambio que queremos que suceda algo bien, qué queremos que suceda bien, lo primero que queremos hacer es saber dónde ponemos estos datos, sabemos que tenemos que poner el datos en otra hoja, pero qué hoja y dónde, lo que es aún peor, entonces necesitamos que esa información esté bien para hacer eso, necesitamos definir algo y he dimensionado la columna y la hoja aquí, la hoja va a nuestro nombre de hoja en este en caso de que sea 2018 y la columna, necesitamos saber en qué columna dónde vamos a poner eso, así que necesitamos esa información rmación necesitamos esa información necesitamos saber qué hoja y qué columna y la fila podemos averiguar automáticamente bien la fila es simple la primera fila en esto es a la primera fila en esto es cuatro así que todo lo que tenemos que hacer es asegurarnos si esto es 4 correcto, debemos asegurarnos de que vaya a la fila 2 aquí, está bien, eso es muy simple, asiente con la cabeza, esa parte es simple, está bien, así que sigamos, necesitamos la hoja, necesitamos la fila y debemos llamarlos, está bien, esos tres las cosas son la información importante, está bien, entonces la columna de la base de datos necesitamos obtener esa columna de la base de datos y la puse en m42, está bien, ahora cómo obtuvimos eso , veamos esa fórmula y M 42 M 42 está bien, aquí está la columna ahora cómo ¿Sabemos cómo sabemos automáticamente que el 11 es la columna de enlace 11? Ahora podríamos simplemente extraer el día de eso. Esa sería una manera fácil de hacerlo, pero quiero mostrarles un poco más en fórmulas. Sí, sucede . ser el día así que el día pero eso no funciona para enero pero no funciona rk desde arriba , pero los necesitamos más, más científicos, solo para ir por día y mes, así que lo que queremos hacer es quiero emparejar, está bien, entonces podemos usar nuestra coincidencia indirecta favorita, está bien indirecta, está bien, así que lo que vamos a hacer es reducir indirecta sabemos el nombre de la hoja recuerda que el nombre de la hoja es el año programado correcto siempre vamos a nombrar las hojas del año para que así podamos saber fácilmente qué hoja está bien, entonces sabemos qué hoja y siempre sabemos que siempre sabemos el rango el rango siempre va a ser de 1 a n B 1 siempre está bien un 1 control de desplazamiento a la derecha flecha derecha a n B ahora por qué final B a la derecha mira n B está vacío pero no recuerda salta aquí bien si es un año bisiesto que necesitamos la Reina, que tenga ese día adicional disponible para nosotros, por ejemplo, si retrocedemos un 1, cambie esto al año 2020, lo cual es un salto aquí justo cuando volvamos de nuevo, controle la flecha hacia la derecha y sigamos adelante y maximícelo, ya verá. ahora NB está lleno porque ese 2020 es un año bisiesto, así que tenemos que dar cuenta de eso y podemos hacer eso de manera muy simple, todo lo que tenemos que hacer es simplemente que de la forma en que hicimos el mes podemos decir si el año de na más 1 es el mismo año si el año de na más 1 es el mismo año que na 1 ok el año de cualquiera entonces y eso, pero básicamente lo que estamos diciendo es si esta y esta fecha tienen los mismos años, entonces muéstrela, de lo contrario, deje un espacio en blanco, ok, sigamos adelante y cambiemos esto de nuevo a 2018 antes de que arruinemos las cosas, pero yo Quería mostrarle cómo puede contabilizar el año bisiesto. Bueno , eso es muy importante. Siempre queremos contabilizar ese día adicional cada 4 años . Bien, volvamos a la fórmula. Vamos ahora. conocemos el rango, así que lo que vamos a decir es que necesitamos hacer coincidir m3, necesitamos encontrar m3, m3 es nuestra fecha, m3, ¿dónde está esta fecha en este rango, qué columna coincidió con m3 en directo y necesitamos una coincidencia exacta? aquí significa una coincidencia exacta, el tipo de masa está exactamente bien y si por alguna razón también he envuelto esto en una aventura si hay un error si hay un error quería un espacio en blanco por qué habría un error bueno hay un error si elegimos un año si elegimos un año que aún no tenemos esto terminará en blanco y eso nos dice cuál necesita crear aquí, por lo que será útil decir que está bien si el usuario elige un año para el que no hay una base de datos para dejarlo en blanco y luego continuaremos y crearemos el año, así es como obtenemos la columna para que sepamos la columna la columna correcta para ponerlo es an es 11 en este caso está bien así que volviendo al VBA sabemos que la columna de la base de datos es un M 42 sabemos que la hoja está en P 7 otra forma de hacerlo podemos elegir ahora que sabemos que sabemos que la hoja de la base de datos, déjame mostrarte otra forma de hacer esa pieza, pero también puedes usarla, ya que hemos definido P 7 P 7 como el año programado SC año otra forma de escribir este código también con precisión es simplemente hacer jugo haz el año SC esto también funciona bien, también funciona bien , así que no tienes que preocuparte por eso, ¿no es eso otro? forma de hacerlo, ok, Fred, ok, así que volvemos a ver que funciona bien también, así que eso también es útil, por eso me gusta mucho usar esos rangos con nombre porque si has nombrado un rango, es bueno que puedas ver exactamente lo que está pasando. aquí puede que quiera usar la celda real, puede que quiera usar el nombre en rango, puede usar ambos , así que tenemos la columna, tenemos la hoja, ahora también sabemos la fila, la fila es la fila de destino, eso significa la fila en la que acabamos de hacer el cambio, así que conocemos la fila, conocemos la hoja y sabemos que la columna está bien, así que ahora la hoja de la base de datos ahora la razón por la que hay una comilla doble aquí y hay una comilla doble aquí a veces Excel no lo acepta. Pensaré porque hemos usado la hoja como un número y esto es importante si su hoja nombra o numera si entonces es realmente bueno envolverlo entre comillas dobles, esto obliga a Excel a verlo como un texto a pesar de que lo hemos definido. como una cadena a veces no siempre a veces Excel arrojará un error pero cuando usamos esto cuando use las comillas dobles y la hoja de la base de datos y las comillas dobles no lo desviarán, lo obliga a mirarlo como una cadena y debemos asegurarnos de que la hoja de hojas se encadene en este caso a 18 celdas ¿por qué estamos usando celdas y no rango estamos usando celdas y no rango porque tanto la fila como la columna son números cuando la fila esa columna sí especialmente la columna la fila siempre es un número cuando la columna es un número entonces usamos celdas está bien si conocemos la columna si sabe que la columna es a, B o C, entonces podemos usar el rango, está bien, pero en este caso ambos son nuestros números, por lo que queremos usar celdas y todos son iguales al valor de la parte, es un código simple, verá, conocemos la hoja , está bien, nosotros conoce la fila y sabemos que la columna está bien es igual al valor objetivo y luego este pequeño código y te mostraré esto en un momento qué es algo esto es una macro y esto agrega el resumen y te mostraré por qué necesitamos hacer eso cuando hagamos un cambio cuando haga un cambio sigamos adelante y elijamos un día vacío es Realizo un cambio David David está bien. Quiero que ese cambio se muestre el día de inmediato, de modo que si hago otro cambio, quiero que ese cambio se muestre también el día, así que esa macro y lo guiaré a través de eso. en un momento agregaremos ese resumen al día actual, por lo que es realmente útil de esa manera, los cambios pueden mostrarlo de inmediato, está bien, así que volvamos al código, vamos bien, así que tenemos otro si hay un cambio en algo en P 457, luego cargue el mes y, básicamente, lo que quiero hacer es que si hay algún cambio aquí, mejor volvamos a cargar ese mes, está bien, recargamos el mes, ¿qué hace? Borra todo y carga todos los datos de ese mes. una vez más, está bien, así que si cambiamos esto al lunes , tenemos que asegurarnos de borrar todo correctamente y cargarlo de nuevo porque tenemos que asegurarnos de que sepas que va a cambiar todo, está bien, ahora eso es importante, así que todo lo que tenemos hecho es que volvamos al domingo para que solo vuelva a cargar los datos y caminaré a través de cómo funciona eso muy pronto, está bien, ese es un paso importante también queremos volver a cargar ese mes, todo lo siguiente, tenemos un código en la cadena de selección, recuerda los cambios de selección simplemente cuando seleccionamos una celda, queremos que sucedan cosas que ni siquiera queremos necesitamos hacer un cambio cuando seleccionamos una celda, solo selección, queremos que sucedan cosas y, en este caso, cuando selecciono una celda aquí, quiero cargar el programa, así que cuando selecciono cualquier cosa desde d6 hasta J 11 y también d12 hasta J 16, etc. etc. Quiero cargar el día, así que sigamos adelante y veamos cómo se hace, así que aquí este fragmento de código realmente nos ayuda en este caso si el recuento de objetivos es mayor que seis y verá a menudo en mi código que pondré esto en uno , pero en este caso porque estamos seleccionando varias celdas en este caso, mira bien, estamos seleccionando cinco celdas diferentes, cinco diferentes, así que si hago, la razón por la que pongo esto bueno es cuando seleccionamos esto si no Si no tengo ese código, causará un error, déjame mostrarte eso y lo que quiero decir está bien si comento esto está bien si comento esto y luego sigo adelante y selecciono si lo hago de nuevo va a arrojar un error que ves, así que eso es lo que vas a encontrar mucho con su código de trabajo, por lo que es importante que digamos, hey, si son más de seis, salga del sub, está bien, por eso lo tengo allí, por lo que es importante que diga que si el usuario selecciona más de seis, continúe y salga de esto, así que si esto es básicamente, estamos diciendo que si el usuario selecciona cualquiera de estas celdas d6 a J 10 d12 - J 16 etc etc nada entonces haríamos algunas cosas vamos a hacer tres cosas bien primero que nada lo que quiero hacer dice que si el valor de compensación del objetivo es Duncan, déjame mostrarte cuál es esta línea, está bien, sabemos que el objetivo es así de correcto, pero la compensación significa algo alrededor de la compensación del objetivo a la derecha si compensamos la columna -1, será esto si lo hacemos fila compensada menos 1 será esto si hacemos fila compensada más 1 será esto y si lo hacemos o ffset columna +1 será esto, por lo que el desplazamiento nos ayuda a identificar celdas específicas alrededor de la celda que seleccionó y lo que quiero hacer es decir si hemos seleccionado una celda en la que está la celda de arriba en blanco a la derecha si la celda de arriba arriba es la palabra clave está en blanco no hagas nada bien no quiero cargar un día en blanco solo quiero cargar el verdadero bien así que sigamos adelante y sentémonos, ¿cómo codifiqué eso? como dice si el objetivo se compensa y recuerda el primero, el primero es la fila de compensación de fila y luego la columna está bien, llámelos, mantendremos la misma columna, por lo que es cero, no hay compensación, por lo que si la compensación significa la fila por encima del valor de eso si el objetivo, el valor justo arriba no es igual a vacío, entonces haga algo bien si no va a pasar nada, no va a pasar nada si no está en Tempe, entonces básicamente si no está vacío, entonces lo que queremos hacer es queremos poner ese día que queremos tomar el día y ponerlo allí, está bien, así que básicamente lo que estoy decir es déjame seguir adelante y repasarlo de nuevo para ti si esto no está vacío entonces toma este día aquí y ponlo aquí recuerda que este es el día correcto esta es una fecha real así que podemos ponerlo aquí simplemente están formateados diferente aquí y aquí, simplemente están formateados de manera diferente, está bien, así que dice que m3 es igual a cualquier valor que esté bien, así es como lo he hecho que es igual al desplazamiento objetivo una fila hacia arriba a la derecha si vamos a hacer el valor objetivo que sería solo el real celda que seleccionamos no queremos eso quiero decir la celda arriba de la celda justo arriba justo arriba colóquela ahí así es como lo hemos hecho bien y luego vamos a decir día de carga y repasaré eso macro con usted y básicamente esa macro tomará toda la información y la cargará aquí, está bien, en realidad tomará, tomará toda esta información correctamente y simplemente la copiará aquí, eso es todo lo que hará, es muy simple, así que sabemos qué días de carga y voy a repasar eso y luego otra cosa es b7 igual es la dirección de destino bien y te mostraré por qué lo hice lo que quiero saber es quiero saber quiero poner aquí qué celda he hecho bien y esto nos ayudará cuando carguemos el resumen necesitamos saber en qué celda ponerlo bien, así que básicamente tengo que saber qué celda acabamos de seleccionar, así que quiero poner que aquí estos siete equivalen a la dirección, ves un 18, así que solo pone la dirección allí porque eso va para ayudarnos porque cuando agreguemos cuando agreguemos un punto sigamos adelante y hagamos clic aquí cuando agreguemos una cita Necesito saber en qué celda poner esto de nuevo Necesito saber en qué celda poner el resumen de nuevo para que esta dirección sea nos ayudará a saber en qué celda estaba bien, así que eso es todo para las macros en la hoja en nuestra hoja, ahora tenemos las macros para el anuncio de las hojas, así que sigamos adelante y repasemos eso. hice las macros en esto y muchas de estas macros usan la misma variable, así que las he dimensionado en la parte superior aquí tengo el nombre de la hoja y tengo un resumen programado que usaremos para este texto del resumen del cronograma como cadenas en la última fila de la columna programada de la fila programada y tenemos la columna inicial y la columna final que nos ayudarán y lo haré le mostraré por qué lo usaremos al cargar el mes y la columna de la base de datos, está bien, así que lo primero es recordar cuando hablé de cuando los usuarios van a usar un año y han seleccionado un nuevo año que no está actualmente en la base de datos y recuerde que cada año se almacena, queremos crear esa base de datos de inmediato, está bien, y una macro hace lo que ve, simplemente sucede allí mismo y es muy rápido, entonces, ¿cómo creamos eso? Esta macro en particular lo hace por nosotros y primero que nada. lo primero que tenemos que hacer es definir bien el nombre de la hoja y recordar que el nombre de la hoja estará aquí. Hemos usado el rango con nombre. bien, entonces lo hemos definido así que sabemos cómo vamos a nombrar la nueva hoja y sabemos el nombre y todo lo que tenemos que hacer es hacer clic en hojas agregar que agrega una nueva hoja y luego activa automáticamente eso en su hoja para que sea automáticamente la hoja activa y luego nosotros solo voy a cambiar el nombre de esa hoja al nombre de la hoja, está bien, así que es simple y ahora nuestra copia corregida, asegúrese de que en su código no elimine el 2018 porque estoy usando eso, voy a usar eso. copie 2018, está bien, así que no quiere eliminar ese que puede eliminar en cualquier otro lugar, así que básicamente dije que estaba bien, copiaré todo desde la fila superior de 2018 y lo pegaré en nuestra nueva fila en nuestra hoja nueva, está bien, así que básicamente todo estamos haciendo y repasemos eso todo lo que vamos a hacer es tomar todo en la nueva columna todo lo que vamos a hacer es tomar eso y uno a través de n b1 pegue todo, haga clic con el botón derecho en pegar todo, de acuerdo, pegue todo y luego quiero que el código tome esto y simplemente lo coloque. ne uno dos cero dos cero está bien, eso es todo el código está bien, así que cómo lo hice manualmente allí, entonces veremos un uno, la nueva hoja a1 es igual a uno y el nombre de la hoja es porque cada dos fechas es basado en una fórmula, cada dos fechas correctas es igual a uno más uno es igual a correcta, todo lo demás se basa en una fórmula, así que tan pronto como cambiamos eso en el año, todo lo demás cambia . abajo He hecho mucha programación y realmente he simplificado esto para que sea fácil para ti, está bien, y luego vamos a borrar esa copia cortada, la mayoría ya sabes cómo, cuando copias y pegas algo correctamente. copiar a la derecha, pegar y pegar a la derecha, todavía tienes esas hormigas bailando alrededor de la aplicación de corte correcto, el modo de copia de corte es igual a falso se deshace de eso . se deshace de esos y yo' Incluí una línea, pero comenté que probablemente desee ocultarla una vez que la hayamos creado. Es posible que desee ocultarla. Se sabe que no es necesario que esto sea visible. Por lo tanto, cuando comente esto, simplemente elimine ese primer carácter . llámalo, ocultará automáticamente esa hoja, está bien, porque es posible que no quieras verla y luego seguirá adelante y se activará de nuevo . Así es como agregamos una nueva hoja. Es bastante simple. Bueno, lo siguiente es que queremos agregar el resumen y lo que es agregar el resumen nuevamente. Bueno, lo que queremos hacer es básicamente lo que quiero hacer para todos los días que quiero. para crear un resumen bien, sigamos adelante y volvamos a 2018 donde tenemos datos bien, entonces quiero crear un resumen y quiero poner ese resumen en la celda aquí bien y si hago un cambio quiero que ese resumen se actualice bien así que este es el resumen está bien y quiero crear un texto de eso Bien, entonces, ¿cómo podemos seguir adelante y hacerlo bien? La idea es básicamente lo que vamos a hacer. Quiero tomar todo cada cita aquí y quiero crear un solo campo de texto y lo arreglaré. aquí abajo voy a almacenarlo aquí abajo voy a usar la fila 40 porque sé que la fila 40 no es parte del horario creo que la programación se detiene alrededor de 38 porque en nuestro horario solo tenemos un total de solo tenemos un total de 37 filas, así que si bajamos a la 37 a la derecha, se detendrá en la fila 38, así que puedo usar esta fila, no se usará, así que podemos usar la fila 40, así que elegí use la fila 40 para almacenar nuestro resumen bien y quiero asegurarme bien echemos un vistazo elijamos un día el octavo bien no hay nada aquí bien nada aquí en la fila 40 y volvamos al horario y hagamos clic en el 8 aquí está bien, el ocho donde no hay nada y quiero agregar algunas citas y lo que quiero hacer es básicamente quiero incluir amigo algunos da ta aquí y luego te quiero para que veas cómo ese resumen y si miramos hacia atrás aquí atrás en el octavo derecho entonces tenemos las tres citas y ahora tenemos un resumen la idea es quiero tomar cada cita quiero tomar lo hora sabemos a qué hora y quiero agregarla quiero agregar la hora y luego quiero agregar el nombre luego quiero ir a la siguiente fila y quiero hacer eso para cada fila que tenga datos bien así que ese es el idea, así que ahora le mostraremos cómo lo hicimos en VBA, de acuerdo, definimos el nombre de la hoja como siempre, conocemos la columna del cronograma y 42, repasamos eso y luego un resumen del cronograma, solo me aseguraré que comienza cuando comienza está vacío, está bien, por lo general no es necesario hacerlo, pero dado que lo hemos definido aquí, es importante borrarlo, pero si atenuamos el resumen del cronograma aquí, entonces no es necesariamente está bien, pero lo hemos hecho allí porque lo he usado en múltiples. Puedo usarlo en múltiples macros y luego quieres hacer seguro que está vacío, está bien, y luego lo que queremos hacer es definir la última fila, está bien, la última fila de datos hasta la 41, así que básicamente lo que es eso es que quiero saber la última fila que no quiero revisar cada fila única hasta el final a la derecha Solo quiero pasar por la última fila si la última fila de datos es 14 No quiero ir más allá de eso, así que quiero saber la última fila Quiero que sea lo más rápido posible ¿de acuerdo ? así que sigamos adelante y actualicemos eso para que podamos conocer la última fila correctamente y sigamos adelante y hagamos eso y para hacer eso sigamos adelante y le mostraremos cómo se hace eso en la variable así que antes que nada Dije m41, eso significa todo lo que está arriba. Quiero saber cuál es la última fila. Está bien. Todo lo que está arriba. Entonces, cuál es la última fila de datos. aquí bien hay día aquí así que no quiero no quiero esto si elijo si elijo una fila después de que sea siempre Voy a decir que no quiero eso, así que comenzamos aquí desde aquí, ¿cuál es la última fila, está bien, en este caso es 14, por lo que las últimas filas son 14, así que ahora vamos a decir de 4 a 14 de 4 a 14 de 4 a 14 ? en este caso 14 correcto lo quiero lo que quiero hacer es quiero obtener primero quiero encontrar cada fila con datos si hay algo aquí obtener el tiempo obtener la información y continuar y luego ir a la siguiente fila ir a buscar el fecha obtener la hora obtener la información e ir a la siguiente fila, así que vamos a crear un ciclo para hacer eso, está bien desde el cronograma desde el 4 hasta la última fila, el resumen del cronograma es igual al resumen del cronograma, la razón por la que lo hacemos es porque queremos siga agregando y agregando y agregando correctamente y lo que vamos a decir es si la M no está vacía si esta M y el valor de la fila programada no están vacíos si hay datos reales, entonces haga esto uno a la vez y aquí está el tiempo los tiempos en L bien el tiempo es tú sabes pero tú sabes los tiempos son solo los tiempos son solo valores son números pero tenemos que formateamos eso en algo que queremos ver, los tiempos de escritura son solo números, pero necesitamos formatear esto, así que lo hemos envuelto en un formato correcto. Lo he envuelto en un formato y digamos, echemos un vistazo a esto, así que he hecho ampm, pero digamos que querías la hora militar, solo aclare eso, aclare que a pm , a la derecha, y ahora mire cuando hacemos doble clic en Lisa a la derecha y luego va a dónde está, ¿qué estamos el 8? Está bien, hagámoslo, elijamos un día podemos ver desde aquí ok sigamos adelante y hagamos doble clic en eso ok así que básicamente lo actualizó a 1300 correcto inténtalo de nuevo 1500 ok pero ahora mira cuando cambio eso de nuevo a am pm cuando cambio ese control atrás control Z Z y yo volvemos a cambiarlo a am pm ahora toquemos, haga doble clic en él, lo actualizará, así que ahora se actualiza correctamente , por lo que el formato va a cambiar, por lo que debe usar cualquier formato de hora con el que se sienta cómodo o cualquiera que sea su a los usuarios les gusta, siéntanse libres de cambiar esto a cualquier formato para que se reproduzca. envuelve este valor en un formato y quiero poner dos puntos y un espacio a la derecha dos puntos y un espacio y luego la cita y luego esta es una nueva línea esto lo envía a una nueva línea bien, eso significa que quiero dos puntos tu dos puntos y un espacio y el nombre y luego una nueva línea, así que quiero hacer eso para cada cita, ¿verdad ? solo acomodar sabes cinco en tu horario puedes acomodar más si quieres que tu calendario tenga ocho diez líneas hazlo sabes todos los mismos principios se aplican para nuestros propósitos tenemos una pantalla pequeña sepamos continúa pero todo va a estar aquí todas las citas, aunque es posible que no se muestren bien, así que continuemos, hemos pasado por ese ciclo y creamos todo esto y luego, una vez que hagamos eso, lo que quiero hacer es tomar este texto que es toda la informacion y la quiero poner el dia 40 hermano de nuestra columna actual en la cuadragésima fila vale, quiero ponerlo aquí 40 lo pondré aquí mismo fila 40 vale, quiero ponerlo por eso es que todo está aquí y realmente no importa cómo se ve aquí no importa si no está formateada, esta es nuestra base de datos, por lo que no nos importa demasiado cómo se ve allí , es por eso que no hay formateo en absoluto y no es necesario que lo haya, así que hemos puesto eso de allí a la derecha y también quiero decir, está bien, mira ahora aquí está, pero ahora que lo tenemos aquí, pero también debemos programarlo correctamente, necesitamos hacerlo aquí, pero ¿cómo sabemos en qué celda ponerlo ? ¿Cómo sabemos que esta es la única? Recuerda cuando seleccionas una celda. Tomé la dirección y la puse en b7. Recuerda que b7. Ahora sabemos a qué celda agregar ese resumen. ¿No es así? B7 es donde estamos. lo pondré así que decimos que el rango de b7 a la derecha b7 es la dirección de la celda sabemos dónde ponerlo ahora es igual al resumen del cronograma así es como sabemos dónde ponerlo entonces así es como funciona muy bien así que pasemos a la siguiente macro muy bien tú sigues conmigo mantente despierto no te duermas muy bien continuemos sabré si estás durmiendo pasemos al mes de carga ahora cuando queremos asegurarnos, como cuando cargamos un mes, queremos asegurarnos de que todo se borre primero antes de cargar nuevos datos, también necesitamos saber dónde comienza el mes, sabes que en enero es fácil, pero ¿dónde comienza febrero? aquí estoy yo lo que hace la columna puede comenzar bien puede comenzar en mayo comienza en DQ qué columna es esa columna igual echemos un vistazo tú vas columna puede comenzar en la columna 121 dónde termina bien termina el 31 de mayo a la derecha es igual a la columna a la derecha así que yo necesito saber en un ajuste, comienza bien, necesito saber dónde comienza y dónde está bien 121 a 151, así que necesito esos dos números, esos son importantes para mí, porque necesito que esa macro comience en esta columna, obtenga todos los resúmenes obtienen todos los datos en la fila 40 y los ponen en el calendario está bien, entonces esos dos números son críticos, necesitamos encontrar la fila de inicio y , por lo tanto , la hemos usado en la fórmula, así que cuando hagamos clic, sigamos adelante y le mostraré cómo funciona esa sala de macros. Marzo Abril Mayo Está bien, recuerde 121 151 necesitamos obtener esos números, podemos hacerlo con una fórmula, está bien, ¿cómo obtenemos esos números de columna, el número de columna inicial y final que es muy crítico, entonces, cómo lo hacemos, sigamos adelante y le mostraremos cómo hemos hecho eso y básicamente todo lo que he hecho es una coincidencia necesitamos encontrar bien el número de mes sabemos el número de mes seleccionado cinco y cuando vayamos al mes anterior te mostraré la macro que pone ese número aquí mmm está bien así que necesito encontrar el número de mes sabemos sabemos la hoja el año programado sabemos el mes el mes está aquí y sabemos uno es el primer día está bien así que lo que voy a hacer es poner una coincidencia que quiero coincida con ese primer día y voy a usar indirecto para que diga dónde está la columna qué es i En este año programado indirecto, ¿dónde está? Entonces, todo lo que vamos a hacer es usar la coincidencia para encontrar el número de columna, está bien, la coincidencia nos ayudará, por lo que hemos usado la coincidencia para ayudarnos a determinar exactamente qué columna y también hemos coincidencia usada y en matemáticas y en matemáticas hemos tomado el mismo mes pero esto este fin de mes esto nos da el día esto nos da el último día de este mes el año el mes y uno esto nos dirá cuál es la última fecha entonces va a decir, está bien, coincida con la última columna, está bien, y eso es realmente muy importante, así que lo sabemos y va a decir coincidencias donde coincidan en esto y este este es el este es el valor con el que estamos haciendo coincidir este es el valor y este es el rango cuál es el rango fue el año porque esa es la hoja a 1 a B n para que sepamos dónde lo encontraremos para que la fórmula nos ayude a determinar la lat la columna del último día del año ahora que tenemos la columna de inicio y tenemos cualquier columna que podemos ejecutar de una columna a la siguiente y obtener todos los datos que necesitamos para completar este calendario, así que sigamos adelante y analicemos eso en el VBA, así que primero vamos a verificar que queremos asegurarnos de que, por alguna razón, si B 5 es 0, necesitamos agregar un nueva hoja ahora ¿por qué querríamos hacer eso B 5 si no se encuentra qué pasa si no lo es si hay un error si hay un error por ejemplo déjame mostrarte lo que sucede está bien estamos en el cronograma 2018 está bien y mira no hay 2019 nosotros no tenemos ninguno pero si continuamos hacia abajo a la derecha si continuamos hagamos clic aquí adelante hagamos clic aquí junio julio agosto septiembre octubre noviembre diciembre ok estamos en el último mes de 2018 bien si hacemos clic en el próximo mes será 2019 pero no tengo un cronograma para 2008 pero quiero crear uno bien, eso significa que va a decir que no lo es si volvemos a hacer clic en la derecha no lo va a encontrar verás lo rápido que estuvo bien pero básicamente ahora está ahí ves ahora está ahí así que lo que hice fue esto es lo que hice dije hey si hay un aire aquí si esto no es para y si hay un aire, eso significa que no se encontró la columna si hay un aire , quiero que cree la hoja y luego regrese, así que eso es todo lo que hacemos, así que si el valor B cinco está en blanco, agregue la nueva hoja, está bien, vamos adelante y atrás, luego agregue un problema, ya revisamos esa macro aquí, está bien, eso es solo para verificar, está bien si todavía necesitamos si necesitamos agregar esa base de datos, sigamos adelante y agréguela ahora que se ha agregado el nombre de la hoja es igual al programa año sabemos acerca de esa columna de la base de datos en este caso que queremos la primera columna bien el valor d5 de la primera columna recuerda sigamos adelante y mostremos que b5 es la primera columna b6 la última columna bien volvamos a nuestro mayo para que podamos ver eso está bien, pero es bajo, hay formas en que podemos hacer esto más rápido, pero creo que va a ser bastante bueno y está bien, así que aquí tenemos 121 y 151, ese es nuestro mayo, está bien y esta línea va a borrar cualquier valor en el calendario, está bien no limpiamos todo queremos asegurarnos de no limpiar ar los días, así que es bueno, básicamente tomará cualquiera de estos y borrará cualquier dato que esté en estas celdas, los borrará, así que eso es lo que hace y luego diremos para la fila programada seis a treinta y seis paso seis entonces vamos a tener dos bucles aquí dos bucles está bien entonces y les mostraré por qué necesitamos dos bucles primero quiero ir a llamarlos quiero quiero en esta fila justo en esta fila aquí voy a hacer uno dos tres cuatro cinco seis siete está bien, entonces voy a ir uno dos tres cuatro cinco seis siete, así que el primer ciclo es dos de esta fila, quédese en la primera fila y luego vaya uno dos siete columnas y luego en la segunda fila también otra vez así que son dos bucles, está bien, vamos a pasar por dos bucles, el primero es en realidad, el primer bucle es la fila seis, es la primera fila, está bien, entonces vamos a calmar de cuatro a once, ¿por qué de cuatro a once? ¿Qué es eso? pregunta bien, déjame mostrarte cuál es el número de columna, está bien, de cuatro a once columnas es igual a columna columna, simplemente escríbelo correctamente, está bien columna 4 a la derecha para llamarlos once, así que vamos a pasar de cuatro a once, está bien, cuatro a once, en realidad deberían ser cuatro a diez, déjame cambiar ese cuatro a diez, está bien, cuatro a diez, así que vamos a pasar por todos esos siete y luego vamos a vamos a decir básicamente si las celdas seleccionarán un valor menos uno que es igual a vacío entonces vamos a saber así que básicamente lo que estamos diciendo es que en este caso si esto está vacío correcto si esto está vacío el cielo está en calma menos uno, entonces no te preocupes, así que básicamente quiero omitir cualquier momento en que esto esté vacío. Voy a omitirlo. Ni siquiera quiero molestarme con eso . el cronograma es la fila programada menos uno ellos solo una túnica de iguales vacía luego ir a la siguiente columna. Solo voy a omitir eso, está bien, de lo contrario, las celdas de la fila programada en una columna programada en este momento, las hojas iguales recuerdan que siempre está escrito. los resúmenes siempre saben cuarenta y la columna de la base de datos, así que vamos a recorrer eso básicamente todo lo que vamos a hacer es revisar cada columna de resumen para cada una y agregar el resumen agregar el resumen en el resumen en summary.com y está bien, está bien así que se ejecuta a través de esto y, básicamente, lo que haremos es la razón por la que no tenemos la columna de la base de datos porque quiero asegurarme de que comenzamos con la primera columna, realmente no necesitamos la última columna también. malo, pero está bien, comienza en la primera columna, pero quiero asegurarme de que cada vez que agregamos un día vayamos a la siguiente columna de la base de datos, cada vez que agregamos una columna del día uno, debemos ir a la siguiente y luego si es así, agregamos una base de datos para que se mantenga bien y así es como lo manejamos, así es como cargamos el mes, está bien, y ahora, ¿cómo cargamos el día ? justo cuando seleccionamos, volvamos a enero, tenemos algunos datos allí, está bien , cuando seleccionamos un día que queremos descargar d esos detalles aquí justo cuando lo seleccionamos queremos cargarlo, así que sigamos adelante y veamos cómo nos fue en esa macro cargando un día ahora la razón por la que hicimos esto recuerde que hay algo importante cuando recordamos cuando hacemos un cambio aquí correcto Fred , queremos que ese cambio se guarde correctamente, pero también cuando cargamos un día, también hay cambios aquí justo cada vez que reservamos, pero lo que hacemos es decir que solo queremos guardar esos cambios, solo queremos guardar esos cambios cuando en realidad estoy haciendo este tipo de cambio, no este tipo de cambio, está bien, así que lo que estamos diciendo es que cuando estamos cargando un día, no lo guarde en la base de datos porque ya está en la base de datos, ¿entiende? Entonces el motivo es cuando cargar un día, marcamos b2 como verdadero y luego, cuando terminamos de cargar, marcamos b2 como falso y la razón de eso es cuando estamos cuando usamos esta macro, recuerda que esta es la hoja de macaron donde realmente guardamos la información a la base de datos a la derecha, por lo que hay un control aquí que dice solo haz esto si b2 es falso, está bien, eso significa que no haga nada para guardar en la base de datos cuando estamos cargando el día, está bien , eso se ignora cuando estamos cargando el día, ignore estos cambios, está bien, por eso tenemos esa línea de código allí eso es muy importante, de lo contrario, las cosas se vuelven un poco locas , por eso configuramos esto para que carguemos hoy, simplemente busquemos la hoja de programación a la derecha, la columna de programación, conocemos la columna de programación, conocemos el nombre de la hoja aquí, la columna. Conozca la columna, así que todo lo que estamos haciendo es borrar el día actual en caso de que haya algún valor. Queremos asegurarnos de que borramos este día. Queremos borrar eso. Bien, eso es importante para que estemos listos y luego vamos a básicamente todo lo que estamos haciendo es vamos a encontrar vamos a encontrar sigamos adelante y repasemos eso otra vez vamos a encontrar la columna bien y luego vamos a copiar esto voy a copiar y luego pegar los valores que no queremos pegar formatos, así que solo valores y d eso es todo, así que podemos usarlo como directo en lugar de copiar y enfrentar su copiar y pegar, es más rápido si hacemos un valor para el valor M para el valor T es igual al rango del nombre de la hoja, está bien, el rango porque vamos a la derecha nombre de la hoja nosotros sepa que las celdas comienzan en la fila dos y van a la fila 38, está bien, y notará que son 36 filas, está bien, y esto es 36 para nosotros cuando vamos valor a valor, debemos asegurarnos de que sea exactamente el mismo número de filas y columnas está bien, eso es muy importante , de lo contrario nos dará algún tipo de herederos, está bien, 36 filas, una columna 36, ​​desde la columna 2 hasta la columna 38, lo siento, desde la fila dos hasta la fila 38, está bien, también 36 tostados en una sola columna, está bien, entonces todo lo que estamos haciendo con esa línea de código es que solo estamos diciendo que estamos diciendo aquí todo, desde cuatro hasta cuarenta y cuatro y 40, es igual a todo, desde dos hasta 36, ​​está bien, eso es todo lo que decimos, así que eso es lo que estamos diciendo que eso es exactamente lo que es esa línea de código, básicamente toma todos esos valores y los pone aquí para que Así es como usamos eso para el código, está bien, ahora solo tenemos las dos últimas macros que son del mes anterior y engreídas, está bien, he creado dos formas en las hojas como pueden ver el próximo mes y estas son simplemente flechas que He creado a partir de formas y luego he asignado macros a esas, está bien, anterior, otro lado, esas dos macros, déjame seguir adelante, mostrarte cómo funcionan esas macros en el modelo VBA aquí y en el mes anterior, lo que voy a decir es cuando estemos regresando y recuerdas que B 4 tiene nuestro número de mes, está bien, b4 tiene nuestro número de mes, que está aquí, está bien, b4 está aquí, así que esto tiene nuestro número y básicamente lo que quiero decir es si este es uno si estamos en enero y vamos anterior necesitamos hacer este 12 correcto necesitamos hacer este 12 y también necesitamos cambiar el año tenemos que retroceder un año así cuando vamos al mes anterior un boom esto va a 12 bien esto va a 2017 y si por alguna razón aún no hemos tenido una base de datos de 2017, nos unimos para crear eso también, así que vamos a g adelante y aún así, cómo se hace, carga el mes, está bien, entonces dice que si B 4 es igual a 1, entonces B 4 es igual a 12 y P 7 es igual a P 7 menos 1, significa que esto reduce el año si no es uno que todo lo que tenemos que hacer es Reduzca el mes de 1 y cargue el mes y verá el mes de carga también dentro del mes de carga. Verificamos correctamente. Recuerde que verificamos. Ves que acabamos de llegar a 2017, pero no había ningún mes, por lo que pudimos agregar la nueva hoja. en esa macro está bien y eso es todo lo que hace bien porque todo se basa en ese número de mes el próximo mes lo mismo si es 12 correcto si el mes actual es 12 entonces haga que el próximo mes sea 1 y luego agregue un año en e Así es, eso significa que cuando volvamos al cronograma correcto y estemos en diciembre, hagamos clic y nuestros números de mes 12 queremos un 1, cambie esto a 1 y 2 cambie esto a 1 año más, está bien, así es como lo hacemos. eso en eso, eso es muy, muy simple y luego también cada macro queremos asegurarnos de cargar el mes, está bien, recuerda th La macro está clara, acabamos de repasar esa macro, así es exactamente como se hace y así es como se crea un programa extremadamente poderoso y fácil para todos con el poder de Excel y espero que les guste este entrenamiento, lo siento, es un poco más largo que la mayoría, pero teníamos mucho que cubrir aquí, así que estoy muy contento de que se haya quedado conmigo todo el tiempo, comente a continuación si esto está en YouTube o Facebook, también compártalo, siempre lo aprecio y muchas gracias por unirse un gran día

Noticias relacionadas