How To Create This AMAZING Week View Schedule In Excel [Part 1]

How To Create This AMAZING Week View Schedule In Excel [Part 1]

hola, soy Randy con Excel para trabajadores independientes y gracias por acompañarme esta semana. Hoy tendremos un programador de vista de semana para usted. Le mostraremos cómo crear y programar citas muy fácilmente. También puede tener la capacidad de cambiar el color de cualquier cita muy rápidamente simplemente cambiando un formato en una celda específica como esta y luego continúe y actualice la pantalla, será un gran entrenamiento. Espero comenzar con usted, así que gracias, muchas gracias por acompañarme. hoy tenemos un programador de vista de semana como dije, tenemos la capacidad de hacer la semana anterior esta semana podemos seleccionar el calendario e ir a cambiar la fecha específica o la próxima semana en esta capacitación de programación ahora si recuerda que teníamos un programador de citas antes y era más una vista de un mes y lo hicimos hace unos meses, teníamos la capacidad de programar reuniones específicas en días específicos e ir a cualquier mes, así como enviar correos electrónicos y usar varios empleados, sin embargo, en esta capacitación ng, va a ser un poco diferente, tenemos una vista de la semana aquí, pero en este entrenamiento en particular también tenemos la capacidad de programar una duración y luego podemos establecer cualquier duración específica en este horario desde cualquier lugar desde tan solo quince minutos. el camino en hasta ocho horas, por lo que este horario en particular es mucho más flexible en cuanto a la reserva de bloques de tiempo específicos y también tenemos la capacidad de establecer una fecha de inicio específica, por lo que si su fecha de inicio es el lunes, puede continuar y configurarlo para el lunes y el horario se actualizará automáticamente el lunes y también tenemos la capacidad de configurar las horas de inicio, por lo que si nuestra hora de inicio es, digamos, a las 7:00 a. m., el horario continuará, se actualizará y se oscurecerá fuera, tenemos la capacidad de programar cualquier cita desde las 12:00 a. m. hasta las 11:45 p. m., sin embargo, su ventana de tiempo, es decir, cuando el blanco se basa en las horas de inicio y finalización que estableció aquí, por lo que tenemos una hora de inicio y tenemos un tiempo final, así que sigamos adelante y vayamos Volvamos a las 6:00 a. m. como lo teníamos y también establecimos la hora de finalización a las 7:00 p. queremos las 6:00 a. m. necesitamos más de una hora de trabajo al menos yo no sé ustedes, así que sigamos adelante y configuremos esto a las 6:00 a. m. ahora también tenemos la capacidad de seleccionar un día específico en un calendario así como cambiar el color como mencioné antes, así que si continuamos y establecemos simplemente cambiando el fondo del color relleno, también podemos cambiar todos los colores de la cita, así que sigamos adelante y vayamos a este turquesa y luego podemos simplemente actualizar el horario en el que podemos hacer clic esta semana y también notará que se desplaza automáticamente a la hora de inicio, por lo que es una función, por lo que automáticamente se desplazará a las 6:00 a.m., que generalmente es nuestra hora de inicio, por lo que es una función realmente útil para el usuario podemos hacer clic en el botón abrir un calendario y seleccionar una semana específica o usar la próxima semana y los botones de la semana anterior para navegar cualquier semana en particular, por lo que es un programador súper poderoso y, sin embargo, es muy simple de crear, así que realmente quería mostrarle esto , alejémoslo un poco para que pueda ver la idea de que puede aumentar o disminuir tamaño de la columna : en función de sus citas, avancemos y disminuyámoslo un poco para que obtenga una imagen más amplia de la pantalla completa. No podemos hacer esto simplemente resaltando los días aquí ahora. Lo tenemos en 15. Podemos traer que tal vez digamos un 12 para que pueda ver más de este horario y luego entraremos para llamarlos aquí y haremos que vayamos a 13 lo reduciremos un poco para no compensar nada bien, genial, entonces lo que hemos hecho es que hemos creado varios botones y sigamos adelante y resaltemos un poco estos botones. También puede agruparlos si lo desea para que no se muevan si planea mudarse. sus columnas mucho de un lado a otro, es posible que desee agrupar todos estos juntos y eso puede ser realmente útil al espaciar si no desea espaciarlos, así que los distribuiremos horizontalmente para que estén bien distribuidos, así que avancemos y repasemos los detalles y veamos cómo creamos esto y cómo Hice esto ahora, hay algunas similitudes con la vista de mes si recuerda que el programador almacenamos nuestra programación en una base de datos y la base de datos se basa en el año y en este momento solo tenemos 2018, sin embargo, quiero esta aplicación de programador en particular como en el otro, quiero crear tantos años como sea necesario, por ejemplo, si seleccionamos una fecha dentro de un año diferente, quiero asegurarme de que la base de datos se actualice y lo haga automáticamente, así que si tuviéramos que crear un calendario específico, digamos creamos una cita que ves ahora tenemos ahora automáticamente tenemos 2019 que no estaba aquí hace un minuto, así que lo hicimos dinámicamente a través de VBA y te mostraré cómo lo hicimos también, independientemente del año que vendamos etc., si no hay un cronograma particular establecido, automáticamente creará uno aquí , tenemos 2023, seleccionamos una fecha específica y ahora ve que el año 2023 está allí, y dentro de eso, hemos basado nuestra base de datos en las fechas, así que así es como está aquí cómo funcionará la funcionalidad cada base de datos en particular se compone de dos celdas particulares para una fecha quiero almacenar dos elementos quiero almacenar información sobre la duración y quiero almacenar los detalles y luego y eso es solo esos dos elementos entonces tenemos dos celdas por fecha y lo extendimos hasta el final, que es el último día, y dejamos una para el año bisiesto y una para el año bisiesto, así que creo que 2020 es un año bisiesto, así que hicimos esto con una fórmula, básicamente nuestra fórmula dice si esta fecha si esta fecha 31 de diciembre de 2019 más uno más uno aquí es el mismo año, es el mismo año que este en otras palabras si estos dos si este si este Más este r1 es el mismo año, entonces sería un año bisiesto por lo que A BC, avancemos y creemos un cronograma para 2020 para poder mostrarles que es un tipo de información importante, así que avancemos y hagamos eso . aquí está aquí vamos a ir al último detalle y ves que 2020 es un año bisiesto y ves ABC, eso es 31 de diciembre, pero mientras que en los otros años, discúlpame, 2023 ABC aquí está en blanco y recuerda que tiene que hágalo para el año bisiesto, así que lo que hemos hecho es que hemos usado una fórmula para agregar una fecha más en 2020; de lo contrario, se deja en blanco, así que aquí está la fórmula si dice que el año de ABA 1 es igual al año de ABA más uno si ellos son iguales, en otras palabras, si el año de este y el año de este son los mismos, si son del mismo año, continúe y ponga la fecha aquí, si no son del mismo año, entonces en blanco, de modo que si son del mismo año. es lo mismo esto y esto es lo mismo luego pon un ser un más 1 de lo contrario déjalo en blanco así es como funciona cada año de la base de datos son un Todo idéntico excepto por la fecha de inicio, excepto por esto, cuando los creamos, ponemos un año diferente aquí, está bien, un año diferente aquí, así es como se hace, revisaremos el código sobre cómo lo hicimos en realidad, pero quería ver. usted cómo funciona eso también hemos usado dos formatos condicionales diferentes también sigamos y cerremos eso y que hemos usado sigamos adelante y haga clic esta semana y quería mostrarle dos tipos diferentes de formato condicional en esto solo dos tenemos usando solo dos estamos usando uno para la fecha actual Quiero que la fecha actual hoy sea el 29 de abril el día en que estoy grabando esto de 2018 y quiero que el día actual aparezca en naranja ese es un formato condicional el otro dijo que si los tiempos de trabajo son los tiempos de trabajo o los tiempos programados están debajo de este debajo de la derecha antes Debería decir antes de nuestro tiempo de almacenamiento Quiero que aparezca en gris igualmente si están sobre nuestro tiempo de finalización si nuestro tiempo de finalización aquí es donde ponemos nuestro personal La hora de salida es a las 6:00 a. m., nuestra hora de finalización es a las 7:00 p. m., lo que significa que en cualquier momento antes de las 6:00 a. m. quiero asegurarme de que esté en gris. eso también está en gris y tome nota aquí 7:00 p. m. 7:00 p . en cualquier momento por debajo de las 6 a. m., también debe tomarse. Lo hacemos con una fórmula, sigamos adelante y vayamos a la página de inicio de formato condicional y las reglas de administrador y formato condicional y haremos clic en toda la hoja porque quiero que vea que tenemos solo algunos en particular ahora estos son una vez para cada día en particular sigamos adelante y hagamos clic solo en la hoja de trabajo nuevamente y podemos profundizar ahora estos son días particulares sigamos adelante y concentrémonos en este solo encontramos un formato condicional para tener cuidado del tiempo no laboral, así que sigamos adelante y editemos esa regla y todo lo que he usado es una regla simple o así que otra vez en la hora de inicio que hemos usado He creado un rango con nombre para esa celda en particular para esta celda en particular es la hora de inicio y he creado un rango con nombre para la hora de finalización y se llama hora de finalización de esa manera sin importar a dónde los mueva dos, siempre se vinculará, así que básicamente lo que estamos diciendo es d6 ahora d6 es nuestra primera fila de nuestra primera fila de veces D es la columna seis aquí que es nuestra primera vez y lo más importante aquí es asegurarse de que no haya dólares no firme ningún signo de dólar antes del seis, está bien, eso es fundamental porque queremos que esta regla se aplique a cada una de las filas de nuestro rango, por lo que queremos asegurarnos de que no haya dólares y esa es la regla fundamental aquí y lo mismo para la hora de finalización si si Cualquiera de estas condiciones es verdadera, entonces califíquelo, entonces queremos establecer el formato, ni siquiera podemos hacerlo, sabe un gris más oscuro si lo desea, podemos aplicarlo y verá que se vuelve de un gris más oscuro. la idea aquí es que en o si d6 es menor que el tiempo de inicio menor que el inicio el tiempo lo hace genial o si d6 es mayor o igual mayor o igual que el tiempo final entonces también lo hacen genial por eso cuando digo mayor igual es por eso que 7:00 pm su hora finaliza pero también es igual a entonces eso significa que nuestra última cita que podemos programar a las 6:45 p. m. y que se establece aquí se ha establecido a las 6:00 a. m. como la hora de inicio y la hora de finalización, y la hora de finalización del rango con nombre se ha establecido para un d5, por lo que tenemos Esos dos rangos con nombre ahora avancemos y repasemos eso, así que esto es realmente simple, lo que tenemos aquí. Acabo de establecer un rango con nombre de duraciones que queremos darle al usuario la capacidad de establecer cualquier duración desde 15 minutos hasta el final. a las 8 en punto ADA discúlpeme 8 horas 15 minutos hasta 8 horas así que he establecido una duración ahora dice 12:15 am aquí pero en realidad son 15 minutos así que sigamos adelante y veamos que hemos dado esto un formato de tiempo pero es un formato personalizado en esta muestra aquí he usado 1330 y este formato particular dado dado el número correcto es reall y 15 minutos, así que si tuviéramos que cambiar el formato de esto a un número, vería cuál es ese número y avancemos y cambiemos eso a contabilidad, que en realidad es punto cero cero cero cero cuatro seis, así que aumentemos ese decimal para que pueda mira cómo formateamos ese número sigamos adelante y hagamos clic de nuevo en la celda aquí está el número punto cero cero uno así que en realidad son quince minutos y por qué porque uno es un día completo qué tal una hora bueno una hora es un día dividido por 24, entonces, ¿cómo llegamos a este número? Bueno, podemos usar matemáticas simples para eso. Bien, sabemos que ese día es 1 correcto, entonces, ¿qué es 1 hora sería 1 dividido por 24 correcto? 1 dividido por 24 entonces si haz esos cálculos, llegaremos a eso ahora, ese es el punto 0, bueno, ¿qué serían 15 minutos? 1/4 de este correcto 1/4 de esto dividido en 4 nuevamente vamos a colocar eso justo allí y luego le damos el formato de tiempo que es este correcto aquí 1313 30 aquí y así es como obtenemos nuestros 15 minutos, entonces todo lo que tenemos que hacer es simplemente agregar 15 minutos, agregar 15 minutos, lo que en realidad vamos a hacer es agregar este número a los 15 minutos, así que hacemos eso para cada uno y aumentamos aumentar aumentar 50 minutos, así que recuerde que lo importante con el tiempo es que todos son decimales, generalmente el tiempo es como un decimal menos de un día completo es lo que dos días son dos, así que en Excel es cómo Excel trata los tiempos , así que tenemos nombró ese rango, por lo que si hace clic en esto, ese rango con nombre se llama duración y hemos usado ese rango con nombre en una validación de datos aquí y para cada celda en particular que incluye la duración, así que en casa como tú en datos y validación de datos tú vea que eso es igual a la duración y lo he hecho durante los siete días y este es un campo de texto abierto donde puede escribir lo que quiera ahora sigamos adelante y repasemos el formato condicional para días y esto es bastante simple para cada día de algo separado, así que cuando w Entramos en las reglas de gestión de formato condicional. Todo lo que he hecho se dice aquí. Si d 4 es igual a hoy, d 4 es la celda en la esquina superior izquierda de esta fecha. cosa para cada uno y se aplica a d 4 a F 5, por lo que se aplica solo a estas celdas aquí y he repetido lo mismo para todos los días, por lo que solo los dos formatos condicionales son muy, muy simples para este entrenamiento en particular ahora no usé el formato condicional, es por los tiempos porque quería hacerlo súper simple en el código, así que la idea es cuando seleccionamos 30 minutos, quiero que se llenen dos celdas, cuando seleccionamos 45 minutos, quiero 3 celdas para llenar y dado que son intervalos de 15 minutos, es realmente bastante simple y luego solo la capacidad de escribir cualquier nombre que desee y luego automáticamente esa información se guarda, así que cuando vamos a la semana anterior, el horario es claro cuando vamos a la siguiente semana automáticamente la información regresa y eso es porque estamos sav ingresándolo en la base de datos y no necesariamente tiene un formato muy bonito, pero no tiene que serlo, de hecho, recomendaría no hacerlo simplemente para ahorrar espacio y acelerar el trabajo, pero no hay razón para que cuando vayamos al 29 de abril bajo 218 vamos al 29 de abril ok 420 aquí vamos así que aquí está la información que ves no está formateada y no necesitamos que lo esté solo necesitamos los datos allí eso es todo lo que realmente queremos a menudo lo más probable es que si fueras a enviarte esto ocultaría estas hojas, realmente no hay ninguna razón para tener estas hojas visibles y lo más probable es que desee ocultarlas si las usa en aplicaciones para sus compañeros de trabajo o si las entrega a sus clientes o si está creando un aplicación más grande, en realidad son simplemente para almacenar los datos, recuperar los datos y guardar los datos, pero no es así y la razón es que ahora mire esto ahora que sabe que en el programa , tomemos, por ejemplo, Lisa Smith 45 minutos pero si miras el horario son las 3 no ve 45 minutos es a propósito eso es a propósito y la razón es porque cuando cargo ese horario y cargo ese horario quiero saber de inmediato cuántas filas colorear quiero saber cuántas filas colorear en este caso vamos a colorear dos filas tres filas y siete filas en este caso, así que 3 2 3 7 correcto, así que quiero saber fácilmente cuántas filas debo volver a colorear, así que tener estos números aquí realmente nos ayuda 3 2 3 7 sabemos exactamente cuando estoy tirando esos datos volvieron a entrar Sé exactamente Me refiero ahora también cuando yo pero no quiero cuando llene este programa una copia de seguridad No quiero mostrar 3 2 3 aquí bien No quiero eso Quiero mostrar el real veces, pero ¿cómo obtengo rápidamente esos tiempos allí y no muestro bien los números si miras de cerca esto en la columna a la derecha y bajas 1 2 3 3 es 145 a la derecha 1 es 15 minutos y luego 7 es 145 entonces si sé bien si sé que necesito elegir el primer valor o el segundo valor o, en este caso, el tercer valor. Puedo extraerlo rápidamente aquí b Porque sé que tengo 3, tenemos 3 de la base de datos . Tengo 3. Entonces, ¿cómo obtenemos 45? Bueno, es relativamente simple. Solo sabemos que necesitamos bajar tres y obtenerlo. Te mostraré exactamente cómo lo hicimos. que en el código también, así como en el color de relleno, les mostraré cómo lo hicimos y el domingo y sigamos adelante y hagamos esto, la última característica que quiero mostrarles que no es código es esta característica aquí donde nosotros podemos seleccionar el día de inicio y, en este caso, lo hacemos con una fórmula simple y, si miran aquí, lo que vamos a hacer es que el día de inicio es una B para la derecha, el día de inicio es una B para lo que he hecho Aquí está, decimos que necesitamos encontrar este día de inicio en nuestra lista de días de la semana. Ahora tenemos nuestra lista de días de la semana. Aquí . Los días de la semana. Los hemos establecido aquí. Aquí hay una lista de puntos débiles . quiero encontrar el domingo El domingo el primer lunes es el segundo, así que digamos que queremos que el primer día sea el lunes, sigamos adelante y configuremos eso para el lunes y hemos actualizado el calendario, así que ahora el primer día muestra el lunes, así que lo que queremos hacer es primero queremos hacer coincidir esto, así sabemos que el lunes es el número dos, sabemos que el lunes es el segundo día, así que cuando hacemos coincidir un ser cuatro que es el lunes contra los días de la semana nuestro resultado aquí nuestro resultado para esta fórmula es dos así que queremos ir menos uno dos menos uno la razón por la que queremos el uno es quiero hacer clic en antes así que este es nuestro día de inicio de la semana, nuestro día de inicio de la semana siempre será el domingo, queremos que esto muestre el domingo, la razón es que tenemos que comenzar en algún momento, por ejemplo, cuando hacemos clic ahora aquí están nuestros domingos en abril, así que si hacemos clic en 23 nuestro la fecha de inicio será siempre el domingo, así que si hacemos clic en otro 116, nuestro día de inicio cambiará el 15 y esta es la razón, básicamente, lo que dirá, tomará este día de inicio, sea cual sea el día que seleccionemos, y será encontrar el domingo esta fórmula encuentra el domingo es th El día de la semana de B 3 menos B 3 menos el día de la semana más 1, por lo que todo lo que hace esta fórmula es encontrarnos el domingo, por lo que mostrará cualquier domingo de la semana, por lo que ahora todo lo que tenemos que hacer es decir, está bien si es domingo y sabemos que el usuario quiere comenzar el lunes, será este más 1 si el usuario quiere comenzar un martes, será ese domingo más 2 correcto, entonces ese es el domingo, así que si estamos buscando, vamos a coincidir con lo que quieren para comenzar el martes por lo que un B 4 es igual a martes este resultado este resultado correcto va a ser correcto el martes es nuestro tercer día el martes es nuestro tercer día aquí uno dos tres entonces sabemos que es martes y comenzamos el domingo entonces necesitamos para agregar a mi nombre a Z, entonces necesitamos agregar para llegar al martes, así que hacemos eso aquí, todo lo que necesitamos hacer es ser cuatro, correcto b4, está aquí más cuántos días más dos días, así que será el tercer día encontrar el martes es un tercer día en esa lista menos uno es dos, así que B para el domingo más dos, así es como obtenemos el martes, ¿verdad? estudie un poco más que para mí no es tan complejo y luego para los rumanos todo lo que hacemos es simplemente agregar uno más uno y agregar uno para llegar allí en muchos días de la semana, así es como sigamos adelante y volvamos al domingo y seleccionaremos esta semana para mostrar que tenemos los datos que hemos terminado y cuando hagamos clic, continuaremos y repasaremos las macros . Tenemos cuatro macros diferentes que ejecutan cada uno de estos botones que tenemos. también obtuve un programa de actualización, así que avancemos y entremos en el módulo de VBA, vamos desde la pestaña de desarrolladores, puede hacer clic en visual basic, también puede hacer clic en alt f11 si no tiene la pestaña de desarrolladores visuales disponible, puede ir ingrese a las opciones aquí y puede seleccionar la cinta de personalización aquí y asegurarse de que la pestaña de desarrolladores esté seleccionada aquí bien, sigamos adelante y primero vamos a repasar las macros en la hoja y ninguna de las otras hojas contiene ninguna macro es solo el cronograma las otras hojas se eliminan o agregan y no contienen macros en la hoja i Sin embargo, tenemos algunas macros diferentes que ejecutamos. Tenemos algunas que ejecutamos en el cambio de selección y tenemos algunas que se ejecutan en el cambio de la hoja de trabajo. Ahora, la idea es ahora, esta es la idea. ahora la idea es que se vuelve un poco complicado, digamos que quiero cambiar esto a 15 minutos, ¿verdad? Quiero cambiar esto a 15 minutos. Necesito asegurarme de que primero eliminemos todos y cada uno de los colores que se enfocaron en eso si estamos en una hora y 15 minutos, tenemos cinco filas que están coloreadas y si cambiamos eso a 15 minutos, debemos asegurarnos de haber limpiado todas las otras celdas correctamente, entonces, ¿cómo lo hacemos? hazlo bien, lo primero es que si vamos a hacer un cambio, necesito saber qué era antes, por ejemplo, si hacemos clic en nuestro, necesito saber que cuatro filas están coloreadas actualmente, necesitan saber cómo lo hago. se que bien lo que quiero hacer es quiero guardar esto en cuanto seleccione quiero guardar esa informacion una hora Quiero saber porque si hago un cambio, necesito saber cuál era el valor anterior. Si hago un cambio a 15 minutos, necesito saber. Hay cuatro celdas que estaban coloreadas antes. Debe borrar esas cuatro y colorearlas . solo uno, así que necesitamos saberlo, lo que queremos hacer es guardar esto tan pronto como hagamos clic y quiero guardar eso y lo he hecho con esta línea de código aquí mismo si nota esta línea de la duración del código seleccionado es de 15 minutos y no es necesario importar, no necesita saber el decimal, pero si seleccionamos en 2:45, este número cambiará y la idea es que lo hemos usado, por lo que necesitamos para saber, recuerde que necesitamos saber cuántas filas necesito saber cuántas filas están coloreadas tan pronto como seleccionamos algo para hacer, solo usamos una fórmula simple para que en la selección cambie dentro del código, lo que digo es si hay en el cambio de selección, todo lo que tenemos que hacer si el usuario selecciona cualquiera de estos sea seis te 101 h6 2h 101 k6 al caso k 101 que son estas colu mns aquí ecigs aquí todo bien h6 aquí k6 así que estas son todas las columnas de duración y en cola así que básicamente si el usuario selecciona cualquiera de las filas seis a 101 de todos modos entonces haga algo y quiere asegurarse de que el objetivo valor si está vacío, realmente no necesita hacer nada, por lo que queremos hacer esas condiciones, qué pasa si el usuario hizo una selección en la fila, esos dos son el valor actual, algo tiene que contener un valor si lo hace si ambos esas condiciones se cumplen entonces hacer algo lo que vamos a hacer todo lo que vamos a hacer es tomar el valor objetivo y ponerlo en b5 eso es todo lo que estamos haciendo es tomar el valor y poner un w5 así que eso es todo estamos haciendo aquí, de hecho, podríamos formatear esto para que quede un poco más claro, no es importante, pero sigamos y sigamos adelante y formateemos ese es el momento para que pueda verlo, no cambiará el valor Solo te dejaré claro lo que seleccionamos, así que ahora, cuando lo veas, ahora tomemos un l. mira, cuando lo selecciono, cambia, está bien, pero yo, pero no necesito saber las veces que necesito saber la cantidad de filas que necesitamos para borrarlo si el usuario realiza un cambio, necesito saber que deben ser seis filas borrado necesito saber que es importante entonces sabemos hacerlo para obtener esas seis filas necesito saberlo así que hemos usado una fórmula aquí y todo lo que hemos hecho es emparejar estamos usando el coincidencia, estamos diciendo básicamente dónde qué qué 4545 aparece uno dos tres tercios en la lista, así que necesito saber tres, así que todo lo que hemos usado como una coincidencia coincide con b5 en el rango de duración y necesitamos una coincidencia exacta si hay una coincidencia. nosotros qué fila nos dice qué número se encuentra entonces 45 sería 3 15 minutos sería uno entonces cuando seleccionamos 1 15 minutos sería 1 y así sucesivamente hora y 15 sería 5 así que aquí tenemos eso así que ahora tenemos este valor ahora sabemos el número de, así que si el usuario debe hacer un cambio ahora sabemos que está bien, necesitamos borrar 5 filas, así que ahora sabemos que si hay un cambio, sabemos el número r de filas está aquí en b6 y analicemos eso para poder mostrarle cuándo el usuario realiza un cambio, el cambio de hoja de trabajo está usando aquí, usamos el recuento si el objetivo es mayor que 1, esto nos ayuda a evitar errores para que cuando grandes porciones de celdas seleccionadas, no aparece ningún error si no tenemos eso, pero probablemente aparecerá cuando hagamos un cambio de selección o algo así, por eso lo tenemos tanto en el cambio de selección como en el cambio de la hoja de trabajo, por lo que es útil para anular los errores, sin embargo, si al usar una celda combinada, tenga en cuenta que algunas cosas no sucederán bien, por lo que si desea realizar un cambio y quiere que el código realice alguna acción en una celda combinada y tiene esto aquí, es posible que deba cambiar esto a dos o tres por si acaso, así que sigamos y bajemos y aquí tenemos, si no, la intersección D 6 a 101, así que básicamente este es el horario completo e 6 a 1 R 1 es nuestro horario completo, así que sigamos adelante y echemos un vistazo a eso d 6 e 6 es aquí la primera celda en la que el usuario puede hacer un cambio y a la última celda, que sería X 101, que es la última celda en la que el usuario confirma el cambio, así que aquí quiero saber si el usuario realiza un cambio en alguno de esos, haga algo, así que si hace un cambio y algo más lo hace y necesitamos otra condición B 2 es falsa qué es B 2 B 2 nos dice cuándo se está cargando el cronograma justo cuando se carga el cronograma se agregarán todos los datos aquí, pero necesito diferenciar cuando un usuario ingresa algo cuando un usuario realiza una acción correcto y cuándo o cuándo se profesa un disco como una joya, así que hacemos clic esta semana, se borra toda la información y la volvemos a ingresar, eso también es un cambio, por lo que debemos diferenciar entre esos dos tipos de cambios , ambos son cambios, uno está automatizado por el Excel actualizando el otro está en la entrada del usuario, por lo que debemos diferenciar esos dos, por lo que si verá aquí en b2 voló la semana, esta es la carga, así que cuando lo haya hecho, puse una condición y cuando actualicemos esta semana esto va a verdad si tu mamá ve que va a ser realmente rápido, no lo verá, es demasiado rápido, pero básicamente esto se vuelve verdadero y luego vuelve a ser falso nuevamente, lo que nos permite diferenciar entre una entrada de usuario y una actualización automática de Excel, así que lo que hacemos es lo que queremos hacer claro, oye, esto debe ser una entrada del usuario, no una actualización, por lo que verás en nuestra actualización de programación. Mac revisará esto en un minuto . Automáticamente establecemos B en verdadero para que sepamos que la programación se actualizará automáticamente y necesitamos para diferenciar eso, en esta macro lo pusimos en verdadero en las macros de programación, así que necesitamos obtener algunas cosas, necesitamos obtener el nombre de la hoja donde vamos a guardar, necesitamos obtener el nombre de la hoja y lo que hago ahora es tener en cuenta que, por ejemplo, avancemos hasta el comienzo del año y así puedo mostrarle cómo se puede diferenciar en una sola semana si hacemos clic en el 1 de enero del comienzo del año. Veré que el domingo 31 de diciembre sea en un año diferente, así que cuando vayamos a través de estos y agregando información a la base de datos, es muy probable que podamos tener un año diferente en un día y luego al día siguiente, por lo que, en teoría , si hacemos un cambio en este día, guardaremos en la base de datos de 2017 mientras que hacemos un cambio en este día que vamos a guardar en la base de datos de 2018, por lo que es muy importante saberlo y debemos poder asegurarnos de saber a qué base de datos vamos y lo he hecho a través de algunas notas hasta aquí en la fila número 110 en la fila número 110 lo que hago es extraer el año de esta fecha en particular en ambos campos extraeré el año y todo lo que he hecho es usar el año de d4 y he hecho lo mismo para cada uno, por lo que cada uno es el año basado en la fecha anterior, por lo que esto nos dice exactamente qué base de datos u hoja guardar en esta fórmula particular, nos dice en qué columna guardar eso y la columna es simplemente usando el partido indirecto y el partido y lo repasaré, así que avancemos al 1 de enero a y el 1 de enero sabemos que es la columna 1 el primer día, pero digamos el 2 de enero. Quiero guardar esto en Quiero obtener esa tercera columna, así que cuando entremos en 2018 queremos guardar la información cuando la guardemos en la segunda. Quiero para saber que es la columna número 3, la columna número 1 2 3, quiero saber cómo comenzar a guardar esta información en la columna número tres, así que lo que vamos a hacer es usar la coincidencia y encontrar la fecha . todo lo que tenemos que hacer es encontrar la fecha en esta primera fila aquí, encontrar la fecha para que nuestras fórmulas digan encuéntrame la fecha en esta fila superior y decirme qué columna es esa fecha, así que esto es lo que hace nuestra fórmula aquí si observamos esta fórmula vamos a usar la indirecta para obtener el rango necesito saber el rango porque no necesito saberlo entonces lo que hacemos es decir primero cuál es la hoja y luego el rango ahora el rango siempre va a ser de 1 a abd 1, por lo que, independientemente de la hoja, el rango, el rango será el mismo, sin embargo el número de la hoja cambiará según el año, así que hacemos eso en esto, así que lo hacemos a través de la indirecta, así que cuando hagamos clic aquí, veremos k 10 indirecto y lo rodeamos entre comillas, la razón es K 110, ese es el año 2018 si no agregamos comillas dobles aquí y allá, Excel indirecto tiene problemas porque es solo un número si su hoja si el nombre de su hoja es texto, no tendrá este problema, pero me he dado cuenta de que los nombres de las hojas son solo números. podría técnicamente, por lo que obliga a Excel a verlo como un texto, por lo que es realmente importante y luego dijimos que aquí está el rango de 1 a B 1, por lo que todo lo que decimos es que este es el rango que necesitamos para encontrar este rango y dentro de ese rango Quiero ejecutar una coincidencia La coincidencia es J 4 Quiero encontrar esta fecha en ese rango y quiero que me digas qué columna conoces o en qué columna está para que simplemente devuelva la columna, por lo que el 3 de enero es la columna 5/4 es la columna 7, así que todo lo que hace es ayudarnos y todo esto es el número de columna, así que Acabamos de agregar que esto se debe a que vamos a ejecutar un bucle un poco más tarde, por lo que queremos recorrer todas las columnas, así que eso es solo ayuda, no es necesario, está aquí para mostrarle que debemos ejecutar desde la llamada número cinco hasta la número 23. cuando estamos completando los datos, así es como agregamos a la base de datos, así que básicamente, cuando hagamos un cambio, déjame hacer un cambio, dirá tómate esos 30 minutos, toma esta información, colócala en la columna en este caso en este caso lo pondrá en la columna tres a la derecha y luego pondrá esto en la columna 4 para que vaya en la columna tres y así cuando hacemos clic en 18 y miramos la columna tres que está aquí y bajamos y lo haremos vea que lo hemos agregado, oh, aquí está y dónde vamos a continuar y sacarlo el 1 de enero de 2018, está bien, ese es el primero, lo siento, el primero está aquí, llámelos, qué columna 30 estará aquí, así que cuando hagamos un cambio a la columna 3 esta es la columna 3 esto viene por esto es calma 1 y 2 así que Peter está bien así que aquí está tu columna 3 y 4 yendo de vuelta al cronograma que ve en la columna 3, la columna 4 es Peter, así que eso es todo lo que estamos haciendo, estamos tomando esta información, la estamos almacenando en la base de datos según el número de columna y el número de fila, vamos a usar el el mismo número de fila que lo hace fácil, así que la fila número 31 aquí y también la fila número 31 aquí, por lo que el número de la calle no va a cambiar, lo que lo hace mucho más fácil. Simplemente usé el número de fila existente, sea cual sea la fila que estemos usando aquí lo usaré allí, por lo que también es bastante simple, así que lo hacemos dentro del código también, volvamos al código VBA donde podemos ver más sobre eso y en la pantalla de programación vamos, así que lo que necesito es Necesito obtener el nombre de la hoja y el nombre de la hoja es la fila 110 que acaba de ver y la columna de destino y luego la llamada y recuerde que la columna está debajo de qué columna vamos a poner esa información en la base de datos la columna está en la fila número 11 y la columna de destino está bien entonces la fila 110 y la fila 111 aquí la fila 110 es donde nuestra hoja nombra nuestros datos El nombre base es y la fila 111 es la columna en la que lo almacenaremos. Cada columna tiene un número diferente. Esta es la última columna de la hoja porque es el último año. 729. Esta es la primera. Así es como obtenemos la información. ahí, por lo que necesitamos saber tanto el número de la hoja como el de la columna, que es muy importante, así que los definimos y ahora decimos que debemos diferenciar entre si estamos haciendo un cambio de duración o si estamos haciendo un cambio en los detalles. así que necesito diferenciar eso porque vamos a hacer diferentes cosas diferentes si se trata de un cambio de duración, necesitamos borrar los colores antiguos y agregar nuevos colores si se trata de un cambio de detalles, es solo un simple guardado en la base de datos, así que de nuevo a unos pocos cosas que suceden aquí si se trata de un cambio de duración si se trata de un cambio en esta columna aquí tenemos que hacer necesitamos borrar los colores antiguos y agregar los colores nuevos a la derecha borrar el antiguo si se trata de un cambio en esta columna entonces simplemente se guarda a la base de datos no hay nada que hacer allí entonces necesitamos diferenciarlos ahora, ¿cómo podemos diferenciarlos bien? Cada uno de estos tiene un encabezado diferente en la fila cinco, este se llama duración y en esta columna se llama detalles, entonces podemos usar esa diferenciación en los títulos de texto allí en los encabezados para diferencie entre esas dos columnas, así que volvamos al código VBA, sigamos adelante y echemos un vistazo a cómo lo hemos hecho, así que todo lo que digo aquí en este sentido, incluso si las celdas Fila 5, recuerde que esa es la fila del encabezado y la columna de destino igual duración igual D eres y las celdas tienen el valor de la columna de destino a la derecha que es igual no es igual a vacío y esto significa que si tiene que haber una columna, queremos asegurarnos de que haya un número de columna en la Fila 1 11 porque si está vacío entonces no podemos agregarlo a nada, así que siempre que se apliquen esas dos cosas, haga lo siguiente primero, queremos actualizar los colores, pero antes de actualizar el color, debemos borrar los colores antiguos, por lo que debemos verificar si b5 recuerda que b5 tiene la n umber b5 se mantiene a la derecha cuando seleccionamos aquí b5 hoyos tres aquí porque correcto, así que si estamos diciendo disculpe, sea b6 si b5 b5 mantiene el tiempo y b6 mantiene los números, por lo que ambos están muy relacionados, cualquiera de los dos de ellos, si alguno de ellos está en blanco, entonces no queremos hacerlo siempre que haya un valor, entonces sabemos cuántos colores competir, así que estamos diciendo que si b5 no es igual a NP, cambia eso a b6 ambos funcionarán, aunque ambos funcionarán. Quiero asegurarme de que si hay aire. No quiero continuar, así que agregué si hay aire . Lo mantendré en b6 porque de esta manera, si hay un error, no continuaremos siempre y cuando no sea igual a van en ese momento, entonces qué queremos, sigamos adelante y salgamos de esa celda. b6 no es igual a vacío entonces qué hacemos entonces el rango de la celda así que ahora estamos ahora estamos ahora rango esto significa más de una celda a la derecha más de una celda y esta es la celda uno, este es el comienzo del rango y esta es la celda superior izquierda del rango y esta es la celda inferior derecha del rango, así es como lo hacemos, así que lo que quiero hacer es aquí hay uno no dirá, digamos que tenemos una hora y quince minutos y estamos haciendo un cambio Quiero saber la parte superior izquierda y la parte inferior derecha, así que necesito borrar estos colores y sé que soy yo sé que debido a nuestra fórmula, sé que serán cinco filas, así que quiero ir de esta celda a esta celda y básicamente quiero borrarlas o hacerlas blancas, en este caso las haremos así, así que quiero tomar todas estas celdas y las hago blancas antes de volver a colorearlas, por ejemplo, si elimino eso, quiero asegurarme de que esté completamente limpio y si tengo 15 minutos o agrego más, quiero asegurarme de que estén coloreados, así que lo hacemos. que a través de esta línea de código aquí y lo que estamos diciendo es la fila de destino, así que sabemos disculpe, comencemos en la primera fila de destino en la columna de destino, eso significa que comenzamos en la primera esquina / izquierda cualquiera que sea la fila que hayamos cambiado y cualquiera que sea la columna que hayamos cambiado, esa es la primera ahora queremos hacer un cambio ahora todo el camino Quiero ir todo el camino hasta la fila de destino + valor b6 menos uno, así que recuerde que b6 es el número de columnas, así que digamos que tenemos cinco filas que debemos borrar o necesitamos cambiar el código si tenemos cinco filas, entonces b6 es 5 menos 1 es 4, así que vamos a decir que la fila de destino más 4 la fila de destino más 4 nos dará la cantidad de filas que debemos borrar, de modo que esa es la fila y qué pasa con la columna, ¿querremos ir a la columna de destino, que es la primera columna más 1 columna de destino más 1 aquí está nuestra columna de destino aquí más 1, así que queremos ir 5 filas hacia abajo y 1 columna hacia arriba, así es como obtenemos nuestro rango completo, así que ahora sabemos nuestro rango ahora sabemos organizar ahora qué queremos hacer queremos tomar ese rango y quiero cambiarlo esto es blanco 1 6 7 7 a 1 eso el color es blanco que cambiará o nuestro color o el color interior de esas celdas a blanco, así es como lo hacemos, así es como obtenemos el ahora, lo que debemos hacer es volver a colorear, volver a colorearlas y también queremos hacer si queremos establecer b5 en nuestro nuevo valor, ¿cuál es nuestro nuevo valor ? Quiero asegurarme de que sabemos cuántos, así que digamos si vamos a una hora y 50 minutos y lo cambiamos a 1 hora, nuestro nuevo valor en b5 es 101, entonces quiero que b5 sea nuestro nuevo valor y luego también quiero obtener nuestro nuevo número de filas, nuestro nuevo número de filas es cuatro, antes eran cinco, ahora son 4, así que necesito el punto b6, necesito saber cuántas filas para colorear ahora, así que tenemos eso aquí, así que b5 es igual al valor objetivo, esto calcula automáticamente el número de filas en b6, así que ahora nos aseguraremos de que si el valor objetivo no está vacío, asegúrese de que realmente pongo un tiempo y luego necesitamos obtener nuestro nuevo rango, nuestro nuevo rango es el mismo que nuestro rango anterior porque hemos cambiado v6 ahora se actualiza con la nueva cantidad de filas, por lo que es lo mismo, la única diferencia es que vamos a cambiar ese color a cualquier color de relleno que esté aquí, necesitamos obtener el color de relleno, por lo que nuestro rango con nombre lo he llamado llueve, esta columna se llama color de relleno, he nombrado ese rango entonces podemos usar eso, lo que significa que cualquier color que esté aquí necesito obtener ese color y necesito cambiar el color a cualquier cosa aquí, así que ese es el color que vamos a usar para que solo una línea de código lo haga por lo que dice encuentre el color de relleno aquí y use que el color interior de su nuevo rango debe ser igual al color interior de cualquier rango de color de relleno para que cuando lo cambiemos cambie fácilmente, así que cuando cambiemos este color y podamos hacer que simplemente cambiémoslo a amarillo y ahora cuando agregamos uno nuevo automáticamente pasa a amarillo ahora todos ahora una vez que hacemos clic en actualizar este tipo para que todos cambien, pero si vamos la semana anterior y la próxima semana a todos cambiar a amarillo y eso porque usa este mismo color todas y cada una de las veces, así que es muy, muy conveniente, volvamos al azul, estábamos en algo un poco más agradable a la vista y, una vez más, la semana que viene y de regreso, todo vuelve a cambiar a azul, de modo que cuando ejecutamos nuestra actualización programada, también toma el mismo color . color de relleno color interior por lo que lo último que queremos hacer es básicamente agregar ese tiempo en la base de datos pero en realidad no queremos agregar el tiempo correcto No quiero agregar el tiempo Solo quiero agregar el número de filas que se verán afectadas o, en otras palabras, dónde se llena ese tiempo en moscas en esa lista, por lo que sería una hora una hora en nuestra lista está justo aquí, aquí está el cuarto hacia abajo, comienza en 23 24 25 entonces uno es el cuarto Bish y quiero porque no quiero la hora así que hacemos eso con la última línea de código aquí las hojas la hoja de la base de datos conocemos la hoja correctamente y nuevamente hemos rodeado esa hoja y comillas dobles eso nos ayuda cuando usamos los nombres de las hojas que son solo números para que ayuden presionemos Excel para saber que se trata de un texto y luego tenemos la fila de destino conocemos la columna de la base de datos que hemos definido aquí arriba sabemos qué columna vamos a usar y conocemos la hoja que sabemos que vamos a usar recuerda que la misma fila en la base de datos es la misma fila que lo hace más fácil no necesitamos cambiar la fila es igual al valor b6 recuerda que b6 es el convertido, es automático no necesitamos el valor objetivo porque b6 es automáticamente el número de filas 30 minutos son dos filas a la derecha 45 minutos son tres filas entonces sabemos que b6 tiene ese número eso es lo que queremos poner en nuestra base de datos ese es el número así es como lo solucionamos ahora lo siguiente son los detalles si la celda cinco de la columna de destino recuerda nuestra fila de encabezado la fila v es igual a los detalles, entonces sabemos que han realizado un cambio y otra cosa, también queremos asegurarnos nuevamente de que tenemos una columna, queremos asegurarnos de que tenemos una columna esto evita herederos en caso de que no pueda encontrar esa columna en la base de datos. Voy a asegurarme de que no esté vacío y luego, ¿qué hacemos aquí? Todo lo que hacemos es guardarlo en la fila de destino y recordar que la columna de la base de datos es la primera columna del día, así que vamos a pasar a la siguiente. columna más uno y lo que eso significa es que queremos en nuestra base de datos aquí está nuestra columna a la derecha nuestra columna es digamos la columna tres cuando queremos guardar los detalles queremos guardarlo en una columna sobre la siguiente columna para que la base de datos los llame más uno lo obtendrá aquí, la columna de la base de datos está aquí, así es como obtenemos nuestro valor objetivo, en este caso, el valor objetivo, el nombre que ingresamos, aparecerá en nuestra base de datos y eso es importante porque debemos recordar que debemos recuperarlo cuando lo actualizamos ahora lo último es si hay un cambio en algunas cosas. Quiero actualizar el cronograma. Esta es una actualización macro programada. Vamos a repasar eso a continuación, pero básicamente lo que digo es si hay un cambio . tres o un antes por favor actualice programar lo que no fueron tres-y -a antes bien b3 b3 es nuestra fecha de inicio para el horario B 3 está aquí, así que si hacemos un cambio ahora cada vez que vamos la semana anterior y cada vez que vamos la próxima semana, hay un cambio en esa celda, así que en cualquier momento hay un cambio de esa celda también en esta semana también cambia y también cuando seleccionamos una fecha específica también cambia, por lo que cada vez que hay un cambio se actualiza la programación, así que también si hay un cambio en un b3 también quiero actualizar la programación si cambie esto al lunes y luego actualice también el cronograma porque tengo que actualizarlo y si hay un cambio nuevamente volvamos al domingo actualice el cronograma para esos dos elementos Quiero que se actualice el cronograma volvamos a esta semana ahora que tenemos repasamos las macros en la hoja, por lo que hemos cubierto que hemos cubierto esto ahora, entremos solo en los otros módulos aquí y el restablecimiento de código es algo que ha visto antes, esto nos ayuda a mover la aplicación más rápido todo lo que esto hace es deshabilitar eventos con detenga el código y vuelva a habilitar los cálculos de eventos a La actualización de la segunda pantalla y esto ayuda a la actualización de la pantalla. Voy a comentar que puede que no sea tan importante que a veces puede causar problemas, así que eso no es tan importante, pero los otros dos son mucho más importantes y eso nos ayuda a ejecutar. la actualización es mucho más rápida, por lo que todas nuestras macros residen en este módulo aquí y tenemos, creo, cuatro o cinco actualizaciones programadas, es la más grande que tenemos calendario abierto y lo que va a hacer es seleccionar b3 donde las fechas van a cambiar y abrir nuestro calendario lo repasaremos con un poco de detalle tenemos la semana anterior no necesitamos eso y tenemos esta semana y tenemos la semana que viene así que tenemos esas tres macros muy pequeñas que básicamente solo se ejecutan y voy a repasemos esos, pero repasemos el grande primero y vayamos primero, claro que ahí vamos, me desharé de estos aquí , no necesitamos actualizar porque la razón por la que no necesitamos arriesgarnos es porque cada vez que hacemos un cambio en b3, se actualiza automáticamente, por lo que en realidad hemos guardado ed algunas líneas de código allí, lo que significa que los programas se actualizan automáticamente cada vez que hacemos un cambio en esto, por eso no necesitamos ejecutar la solicitud de programación de macros o guardar líneas de código de manera correcta y justa, así que tenemos las de cuatro Macker en la parte inferior, vayamos a la actualización del cronograma y repasemos la metodología primero y luego pasaremos a los detalles ahora la idea de esta macro en particular es básicamente quiero una que quiero ejecutar en cada columna que quiero para correr de la columna número cinco a la columna número 23 y quiero, pero no quiero, pasar por cada una de las columnas, quiero ir cinco para llamarlas ocho para llamarlas 11 a la columna 14, así que voy a saltar a la derecha, pero porque no necesito pasar por cada columna, puedo hacer esto más uno, así que vamos a ir del 5 al 23 y vamos al paso 3, luego, cuando estemos en cada columna, quiero para ejecutar cada fila aquí y agregar datos Quiero agregar datos desde aquí desde el cronograma al cronograma pero w Lo que no quiero hacer es no quiero recorrer todo el camino hasta el 101. ¿Qué pasa si no hay datos aquí abajo? No tiene sentido que vayamos hasta el final si no hay datos. vaya a la última fila de datos y luego, una vez que sea la última fila, vayamos a la siguiente antes de extraerla, así que hemos hecho eso, solo queremos ir a la última fila de datos, no queremos ir a todos el camino a la fila 101 cuando no hay datos aquí es una especie de pérdida de tiempo, así que no vamos a bajar hasta la 101, realmente usas la última fila de datos y vamos a continuar cada fila, cada gemido, vamos a hacer eso y podemos hacerlo con bastante rapidez, especialmente cuando apagamos los cálculos y apagamos la actualización de la pantalla, así que esa es la metodología. Quiero extraer todos los datos allí y luego cuando lo haga. Quiero asegurarme de que también actualicemos los colores, así que vamos a hacer eso, esa es la actualización del cronograma, lo primero que queremos hacer es actualizar nuestro cronograma - t rue y lo que esto va a hacer va a detener cualquier cosa, se asegurará de que cuando este material no se ejecute cuando se realicen los cambios que queremos hacer, solo ejecutemos aquellos cuando b2 sea falso, solo ejecutemos estos cuando b2 sea falso, lo que significa que las cosas aquí no se ejecutarán mientras las estamos obteniendo, no queremos que estas cosas aquí solo se ejecuten cuando hacemos esas actualizaciones manualmente, esa es la razón por la que establecimos esa condición, esa fue la razón por la cual lo configuramos como verdadero Lo primero que queremos hacer es borrar los colores y los datos del cronograma existente Queremos asegurarnos de borrar todos estos datos correctamente Solo queremos eliminar Que queremos borrar el datos y queremos borrar los colores, así que queremos hacer esas dos cosas, borrar los datos y borrar los colores para que podamos hacer eso con solo dos líneas de código, sabemos que el rango está aquí, vamos a decir con este rango y estos este rango es el mismo rango de esto no estamos por supuesto estamos excluyendo las columnas de carretera con tiempos solo incluimos tanto la duración como los detalles, así que he cubierto eso en ese rango particular aquí vamos a borrar cualquiera de los contenidos recuerda que vamos a borrar los contenidos que no queremos borrar el formato que no queremos No quiero borrar nada y luego vamos a cambiar el color a blanco. Vamos a cambiar el color a blanco en esos, así que solo esos dos para que se borre y luego solo querremos calcularlo. Quiero hacer 100% seguro de que estas formas en que se calcula esta fórmula son muy importantes, así que quiero asegurarme de que estas fórmulas se calculen, así que vamos a ejecutar el cálculo, así que eso es una parte importante de eso cuando las fechas cambien bien, queremos asegúrese de que estas fórmulas calculen para que podamos obtener los números de columna exactos que también son importantes para esto, así que ahora vamos a ejecutar nuestros bucles y tenemos dos bucles como mencionamos, vamos a ir de columna a columna para llamarlos y luego fila a fila, así que tenemos para la semana cinco 223 y tú m Recuerde que esos son los números en la parte inferior y luego también vamos a ejecutar un bucle for next para las filas aquí para la fila programada es igual a seis hasta el último, definiremos qué es, así que nuevamente las columnas 5 a 20 paso tres, lo repasamos hace un momento, vamos a revisar todas esas columnas en la semana, vamos al paso tres, para hacer eso, primero vamos a comenzar ese ciclo y el siguiente es que necesitamos sacar la hoja qué es la hoja su hermano 110 y la columna de la semana, así que la fila 110, ¿quién se levantará porque diferentes días pueden tener diferentes hojas ? podría ser diferente si estamos dividiendo un año en una semana, así obtenemos eso y lo almacenamos aquí en esta variable en la hoja de la base de datos, que es una cadena, una variable que hemos definido aquí, no creo, así que tenemos hecho eso y ahora vamos a decir ahora una cosa es si y si está vacío qué si 111 está vacío eso significa que significa que hay un error, ¿qué pasa si esto está vacío ? en realidad, va a crear la hoja automáticamente en este momento, sin importar qué, porque cerremos eso, si lo cambio aquí, es mucho más fácil si cambiamos esta fecha si esto es 20, digamos de 0 a 5 en estos van a quedar en blanco porque esta fórmula está buscando esto, está buscando esta fecha y no tiene el año 25, no hay la hoja 25, así que estará en blanco, es por eso que realizamos una prueba si está en blanco que significa que debemos crear una nueva hoja que contenga esas fechas, así que esa es la prueba que ejecutamos primero, aquí dice que si 111 es igual a vacío, entonces necesitamos crear una nueva hoja, podemos hacerlo con solo estas líneas de códigos aquí, así que dice si el la columna calculada está vacía, lo que significa que en el aire no existe, por lo que debemos crearlo hacemos eso aquí podemos usar hojas agregar esto va a agregar una nueva hoja en el libro de trabajo y luego decir bien qué nombre queremos llamar esto esa es la hoja de base de datos que tenemos que sabemos el año entonces vamos a crear un nombre de hoja con el que la hoja activa de nuestra hoja nueva tendrá el nombre de la base de datos que en ese caso será 2025 y luego lo que vamos a decir está bien con el hoja 2018 , sigamos adelante y copiemos esto con esa copia de hoja, lo que significa aquí con esto lo que quiero hacer es subir aquí y básicamente quiero copiar todas las fechas ahora vamos a cambiar las fechas pero Quiero tomar todo este techo desde a1 hasta ABD y quiero copiar todo, quiero copiar eso y quiero poner eso en la nueva hoja, así que lo hacemos a través de códigos, así que vamos a copie un 1 a través de ABD luego, en la nueva hoja que está aquí, pegue todo, péguelo todo bien, pero aunque ahora todavía tiene 201 8 todavía necesitamos actualizar las fechas porque todavía tiene el 2018 y lo haremos con la siguiente línea de código, por lo que estamos diciendo que el nuevo rango de hojas a1 debe ser igual al primer día debe ser igual al 1 de enero y luego voy a agregar el año aquí mismo para que actualice todo eso al año porque todo se basa en esa fórmula , por ejemplo, si entramos en 2023 y todo lo que hacemos es hacer un cambio, cambiar el año a 2022 todas las fechas allí cambia, por lo que es útil para nosotros, todo lo que tenemos que hacer es cambiar esa fecha y todas cambian, así que eso es lo que hacemos aquí, cambiar esa primera fecha, todo lo demás cambia, ahora tenemos una base de datos completa con fechas precisas para ese año específico. la siguiente línea de código es que simplemente vamos a salir del modo de cortar la copia de corte y también, si desea ocultar las hojas , puede usar esta línea de código, esto ocultará las hojas, pero me he ido para calmarnos. quiero ver las hojas con fines de entrenamiento quiero que veas esas hojas pero tu muy bien ma quiero ocultarlos en caso de que simplemente descomente eso y luego ocultará automáticamente esa hoja, por lo que será útil Quiero ir Quiero enviar al usuario de regreso a la pantalla de programación y el caso no está activo , así que la hoja uno Lo activaré y luego calcularemos. Quiero asegurarme de que estamos calculando que esa nueva hoja sabe que todas las fórmulas se calculan correctamente para que podamos obtener esas columnas, así que seguimos adelante y calculamos aquí bien, así que ahora tenemos la nueva hoja ahora podemos continuar porque tenemos la hoja tenemos el Davis y ahora podemos almacenar los detalles que hemos ido ahora podemos establecer la columna de la base de datos en la semana com2 fila 111 y la columna que podemos configure esa columna de la base de datos para que sepamos qué columna en nuestra base de datos almacenar y también ahora lo que quiero hacer es saber la última fila que quiero ingresar aquí y quiero saber la última fila, por ejemplo, en la base de datos 2018 si nuestro ultimo a ver creo que en este caso nuestra ultima fila es siete a la derecha nuestra ultima fila 13 disculpe nuestras últimas filas 13 en la quinta derecha si miramos en la quinta aquí aquí nuestra última fila es C es la semana equivocada sigamos adelante y levantemos eso enero enero sigamos adelante y levantemos enero y podemos ver cuál es nuestra última fila es para que pueda tener una idea de cómo funciona ahora el primero de enero, nuestra última fila, así que vamos a nuestras últimas filas, pero en este caso, el 31 de enero de 2018, nuestra última fila es 31, por lo que no quiero ir más allá. No quiero ir más allá de eso, así que nos ayudará a que no necesitemos pasar por cada fila, solo vamos a pasar por la última fila en este caso en este caso es 31, así es como lo hacemos, necesitamos obtener ese último lo podríamos hacer en el código aquí mismo, la última fila es igual a las hojas de nuestra base de datos, justo en la base de datos, el 102 es lo más posible, la última fila que podemos obtener, 101 es en realidad la fila más alta posible, así que iremos una arriba eso y vamos a decir la columna uno de la base de datos que significaría los detalles la columna de detalles cuál es el último detalle así que queremos t para obtener la última fila, así que una vez que tengamos esa última fila, podemos decir que está bien ahora desde seis hasta la última fila, pero antes de hacer eso, ¿qué pasa si no hay datos? ¿Qué pasa si la última fila es menos de seis? Entonces podemos omitir el columna completamente no hay no hay necesidad de revisar cada celda de la composición no hay datos así que si la última fila es menos de seis en este caso si la última fila es menos de seis no necesitamos ir por ejemplo esta fila tiene no, si no hay datos, simplemente omitámoslos por completo, así que eso es lo que hacemos que nos ayuda a acelerar el código, así que hacemos eso con esta línea de código ahora vamos a ejecutar nuestro ciclo desde seis hasta la última fila y decimos el celdas las celdas actuales la fila programada ahora estamos revisando esto programado la fila programada más la semana com más uno es igual a la hoja de la base de datos la fila programada las filas siempre iguales y la columna de la base de datos más uno básicamente lo que esto hace es tomar información aquí justo en el primer traste de enero y lo pone a la derecha y la fila seis y lo pone justo en nuestro calendario aquí lo pone aquí así es como lo hacemos y en este caso el primero de enero así que lo pondrá ahí vamos a esta semana donde tenemos algunos datos que están actualizados bien ahora tenemos todos estos datos y podemos ver que hay una buena cantidad de datos en esta hoja, así que básicamente vamos a agregar los datos de la base de datos en esa celda ahora queremos agregar hemos agregado nuestros detalles de implementación con esta línea de código ahora queremos hacer dos cosas quiero agregar en la duración y quiero colorearla y podemos hacer eso con esta línea de código primero queremos asegurarnos de que la duración no esté vacía entonces use esta línea de código el planificador Road y la columna de la base de datos no está vacía si no está vacía, establecemos la duración en la columna de la base de datos la duración que es un archivo largo que es un número entero y nuestra duración será que los números enteros dirán nosotros cuántas filas para colorear la duración en este caso es cuatro es seis para una t esto también nos dice cuántas filas cocinar, por lo que la duración de la hora lo configuramos y lo pusimos en este valor aquí ahora quiero tomar esa duración, quiero convertirlo en un tiempo y quiero ponerlo allí, así que quiero para tomar eso para Quiero tomar esto para David Davis Quiero cambiarlo a una hora y quiero corregirlo el primero de enero. Vayamos a la semana actual. Vayamos a la semana actual que tenemos, que actualmente es el 29 de abril. aquí está bien aquí está nuestra información así que por ejemplo quiero tomar a Lisa Smith quiero tomar este tres y quiero convertirlo a 45 minutos quiero tomar esto y quiero convertirlo aquí así que ¿cómo lo hacemos bien nosotros sabemos que uno dos tres son 45 minutos entonces un 25 es 45 correcto un 25 es 45 sabemos que tenemos un entonces un 22 más la duración es este número un 22 más 1 más 2 más 3 es 45 entonces eso es todo lo que necesitamos hacer sabemos está en la columna a, así que eso es exactamente lo que hacemos en el código aquí, así que las celdas 45 la semana en a es igual a a y 22 más la duración si las duraciones 3 vamos nna estar en un 25, eso es todo, todo lo que tenemos que hacer es convertir el 3 a 45 para que establezca la duración real en función de la lista de duraciones, así que ahora lo tenemos, ahora todo lo que tenemos que hacer es colorear los que necesito colorear esas tres filas, debemos decirle a Excel, está bien , quiero que colorees esas tres filas, quiero que lo llames, quiero que comiences aquí y quiero que termines aquí y colorees esto y yo el color que quiero que el uso está aquí debajo del color de relleno, así que eso es todo, podemos hacerlo con solo una línea de código también organizada porque comenzamos con una celda y terminamos con las diferentes celdas, por lo que será un rango nuestra celda inicial es el programa Rho más la columna de la semana que está en la parte superior izquierda y nuestras filas finales las celdas inferiores a la derecha el programa la fila más la duración menos uno esto nos dará esto es tres menos uno es dos así que esto es dos dos más el programa es un total de tres filas y vamos a agregar una columna más una para que esto nos diga el rango para colorear t este es el rango y ahora esto nos dice qué color es el color de cualquier color que esté aquí en el relleno, repasamos esto antes de que ese sea el color que le daremos, así es como lo coloreamos y luego lo repasamos vamos a cada una de las filas ahora, si no hay datos en la fila que se van a omitir, vaya a la siguiente columna y eso va a omitir todas esas filas, entonces simplemente vamos a la siguiente columna y luego repasamos eso para cada llamada ahora cuando el horario actualiza lo que quiero hacer es quiero quiero también como dijimos quiero ir justo aquí en nuestro primer quiero no quiero que termine aquí no quiero terminar aquí quiero terminar justo a las 6:00 a. m. Las 6:00 a. m. es nuestra primera sala de inicio, así que si cambiamos eso a las 7:00 a. m. o dos, digamos que lo cambio a las 5:00 a. m. Quiero que se muestre Quería mostrar cinco M así que quiero desplazarme automáticamente en la actualización a las 5:00 a. m. en base a eso porque quiero ir a esa primera vez, así es como lo hacemos y ahora son las 5:00 a. m. aquí, así que sigamos Voy a ver si se ejecuta un poco más rápido, avancemos y entremos en el código, es un poco lento en esa semana completa, así que vamos y lo habilitaré. También voy a detener la actualización de la pantalla, veamos. si es un poco más rápido allí, entonces podemos necesitarlo para ver si eso ayuda y hacer clic en esta semana nuevamente, oh, sí, ahí vamos mucho más rápido, está bien, así que seguiremos así para que la actualización de la pantalla en este caso nos ayude. mucho, así que mantendremos eso que es importante, puede ver que la diferencia horaria está ahí, así que la idea es que quiero desplazarme a lo que sea hasta la hora de inicio, así que, ¿cómo lo hacemos bien? Esta hora de inicio es a las 5 a.m. en este caso. y ese es hermano 26, entonces necesitamos saber ro 26 eso es importante ¿cómo encontramos ro 26? Bueno, sabemos que la hora de inicio es a las 5 en punto, así que sigamos adelante y sepamos que todo lo que tenemos que hacer es encontrar ahora nosotros De hecho, he creado un rango con nombre desde aquí hasta el final y lo hemos llamado x, ese es nuestro rango, está bien, solo la primera columna, la columna D es x, entonces si encontramos las 5 a. m., digamos que estamos buscando las 5 a. m. y usamos una coincidencia en ese momento, entonces podemos usar la coincidencia y sabemos que la hora de inicio sería a las 5 a. m. esta fórmula aquí, así que vamos a hacer coincidir la hora de inicio con la x a la derecha, esa es esta columna aquí y vamos a agregar 5 a eso, ¿por qué agregamos 5 porque nuestro rango comienza en la fila 5 porque nuestro comienza en la fila 6 ? entonces hay que sumar 5 a libre si por ejemplo no teniamos ese 5 va a regresar Fila 1 no quiero no quiero mas uno quiero fila 26 quiero si entonces esa hora de inicio es 12 yo quería devolver 6, por eso agregamos 5 a esto, lo que nos dice exactamente a qué fila debemos desplazarnos cuando lo actualicemos, de modo que cuando hagamos clic esta semana, automáticamente se desplaza a la fila 26 y lo hicimos con solo uno línea de código, regresemos para que esté ubicado en b7 b7, así que eso es lo que queremos, nuestro código nos dirá que hagamos solo eso, dirá ventanas activas, desplácese hasta lo que sea que esté en val ue b7 para que se desplace a la fila b7 así es como hacemos que la última línea de código todo lo que hacemos es actualizar ese horario a falso para que luego recuerden por qué eso es importante y luego restableceremos el código este código de reinicio también está aquí, esto es lo que detiene nuestro código de parada de cálculo y restablece el código que habilita los eventos que deshabilitan los cálculos, es decir, mantenemos las cosas funcionando muy rápido si no usamos eso, se ejecutará muy, muy lento, así que queremos asegurarnos de que cuando estemos recorriendo todas esas columnas y recorriendo todas esas filas que los eventos están deshabilitados, los cálculos de deuda son manuales y la actualización de la pantalla es falsa cuando terminamos , debemos asegurarnos de restablecer el código; de lo contrario, las cosas no funcionarán, así que queremos para asegurarnos de restablecer los cálculos de eventos y actualizarlos, por eso ahora el calendario abierto todo lo que hacemos es seleccionar b3 y la razón por la que seleccionamos es porque cuando hacemos clic en ese formulario de calendario aquí, haga clic con el botón derecho en esa forma de calendario va a ser nuestro código básicamente nos dirá que pongamos la fecha en la celda activa voy a poner los datos en la celda activa valor de celda activa así que queremos asegurarnos de que antes de lanzar ese calendario hagamos clic aquí bien hacemos clic aquí discúlpeme, haga clic aquí b3 bien, así que si estamos haciendo clic aquí y hacemos clic en el calendario que ve automáticamente b3 se seleccionó de esa manera cuando ingresamos una fecha específica automáticamente se actualiza, por eso es que seleccionamos eso antes de que sea por qué el código seleccionamos b3 que es nuestra fecha que es importante y luego vamos a mostrar el calendario eso es todo lo que hacemos para la semana anterior todo lo que hacemos es tomar ese mismo día y b3 y le restamos 7 para el actual semana, todo lo que hacemos es tomar el día actual que se encuentra en b1, nuestro día actual se encuentra en b1 aquí y solo agregamos que lo hacemos para que cuando hagamos clic en esta semana tome la fecha actual y la coloque directamente en el inicio de la semana fecha entonces así es como hacemos eso y también la próxima semana, todo lo que hacemos es tomar b3, lo que sea que esté actualmente allí, y agregamos 7, cambiando b3 automáticamente actualiza el cronograma automáticamente, por lo que todo lo que tenemos que hacer es hacer un cambio, por ejemplo, si entramos en b3, hacemos doble clic y salimos, se actualizará el cronograma. solo así, en teoría, también podríamos cambiar esto y eso también actualizaría el cronograma, así es como lo hacemos así es como actualizamos el cronograma allí, esas son las macros que ejecutan este calendario en particular, por lo que es realmente muy importante Creo que hemos repasado todo aquí Espero que te guste este video de capacitación un poco más largo de lo normal y espero que lo hayas encontrado interesante. Me encantaría ver cómo lo personalizas y haces que este uso en tus propias aplicaciones sea tuyo como Siempre estos videos son gratuitos. Me encanta hacerlos para ti y me encantan tus comentarios. Todo lo que te pido es que compartas este video. Suscríbete a nuestro canal de YouTube. Si puedes, recibirás anuncios automáticos si haces clic. ck ese icono muchas gracias de nuevo y que tenga un gran día

Noticias relacionadas