hola, soy Randy con Excel para trabajadores independientes y en el video de capacitación de hoy vamos a crear un administrador de contactos que los usuarios de todo el mundo pueden compartir y usar simultáneamente sin usar la función de libro de trabajo compartido de Excel, será una capacitación fantástica, está bien, vamos Comience Estoy muy emocionado de mostrarles este porque hay muchas ventajas para poder compartir un libro de trabajo sin usar la función de libro de trabajo compartido y repasemos para aquellos de ustedes que no saben o necesitan un poco curso de actualización, el libro de trabajo de características compartidas está aquí y, básicamente, cuando selecciona esta opción, le dirá que permite que varias personas compartan un libro de trabajo al mismo tiempo y eso es lo que estamos tratando de lograr, pero queremos lograr eso sin usar esta función y por qué queremos hacerlo bien, como dice aquí, el libro de trabajo debe guardarse en una ubicación de red, bueno, quiero compartirlo con personas de cualquier parte del mundo, suponiendo que tengamos algunos s ort de una carpeta compartida y hay muchas maneras excelentes de obtener carpetas compartidas y repasaremos algunas de ellas como Dropbox Google Drive onedrive y hay algunas otras excelentes, pero eso es fácil y gratis el compartido la carpeta compartida es el fácil parte, así que no quiero usar una red, eso significa que sabes que una red dura sería como las computadoras en tu oficina y que los libros de trabajo que contienen tablas no se pueden compartir en tablas, es algo que usamos, también hay montones, montones, montones de otras limitaciones con la función de libro de trabajo compartido con esta función de trabajo compartido, repasemos algunas de esas limitaciones porque eso pasará directamente a por qué queremos hacer esto Hice una lista aquí no puede crear una tabla de Excel insertar una eliminación estas son cosas que usted no se puede hacer con las celdas de combinación de libros compartidos estándar de Excel o las celdas de combinación divididas y queremos hacer eso proteger desproteger dentro del código , de hecho, uno de mis favoritos no puede usar filtros avanzados dentro de un libro de trabajo compartido whi Es una lástima que no pueda usar texto en columnas, datos de esquema de grupo, inserte automáticamente subtoneladas y toneladas y toneladas de estas características que son realmente muy importantes y muy importantes para sobresalir, simplemente no podemos hacerlo dentro de un libro de trabajo compartido, bueno, hoy estamos Voy a crear una solución. Le mostraré cómo crear una solución que le permita compartir los datos de su libro de trabajo con cualquier persona en el mundo con tantas personas como desee al mismo tiempo con esta característica única e increíble que estoy les mostraré y no es demasiado difícil de lograr, así que síganme y les mostraré exactamente cómo lograrlo y una de las cosas que vamos a hacer es crear un administrador de contactos, esto es solo un programa simple y básicamente lo que nos permitirá hacer es crear nuevos contactos y guardar esos contactos dentro de nuestras listas siempre nuevo guardarlo y podemos poner la dirección y luego se guardan automáticamente en la parte inferior de esta lista podemos seleccionar en un contacto aquí y arriba fecha la dirección y luego podemos hacer clic en actualizar y actualizará el contacto aquí tenemos la capacidad de actualizar los contactos eliminar podemos eliminar un contacto así que si queremos hacer clic aquí podemos eliminar el contacto y lo eliminará automáticamente Ahora voy a repasar eso contigo, pero vamos a repasarlo rápido. La idea es básicamente que en esta miniaplicación particular que he creado podemos crear nuevos contactos, podemos actualizar contactos y podemos eliminar contactos para que el programa es muy, muy básico, pero la idea detrás de esto es que los datos aquí se guardan y se pueden compartir para que haya 100 personas usando este libro de trabajo o en realidad una copia de él y todos haciendo lo mismo al mismo tiempo y compartir sus datos y luego sus datos también aparecerán en esta lista, así que eso es lo que queremos lograr ahora, lo importante que entendemos es que sabes que Excel es un programa de hoja de cálculo, así que tenemos que sacar eso de nuestro mente y pensar en ello más como un ap plicación y cualquier aplicación verdadera tiene lo que llamamos un front-end y un back-end y el front-end es justo lo que está viendo aquí, es básicamente una factura para ingresar datos, actualizar datos o eliminar datos y es lo que ve el usuario y eso es llamado front-end y lo que tenemos que hacer es salirnos de nuestra mente en el front-end y el back-end son iguales, así que lo que estás viendo aquí no es el back-end, está bien, el back-end es esto aquí y eso es básicamente una tabla derecha y esto es en realidad esto es en realidad una copia del back-end el verdadero back-end es simplemente una tabla y les mostraré cómo se ve ese back -end sigamos adelante y entremos en nuestra carpeta de archivos aquí y seguiremos adelante, buscaremos y lo abriremos para que podamos ver nuestra carpeta específica que estamos viendo y que estaría aquí debajo del libro de trabajo compartido. así que lo hemos separado y cómo se ve eso se ve como se ve como una mesa cierto , no es más que una tabla, por lo que la idea aquí es que tenemos que separar la parte delantera y la trasera y la idea es que esa parte trasera todos tendremos que vincularla a esa parte trasera , así que sigamos adelante y cerremos esto. todo lo que es este back-end es una tabla simple cuando cerramos eso y cuando volvemos al contexto y agregamos un nuevo contacto, sigamos adelante y agreguemos un nuevo contacto, llamaremos a esta persona Jasmine Jasmine Smith, veamos a Smith, está bien y nosotros dales una dirección 1 2 3 4 5 Main Street ok y una ciudad Los Ángeles y ahora queremos guardar eso bien y lo veremos guardar aquí abajo pero lo que realmente estamos haciendo es guardar en la base de datos y luego lo estoy sacando y lo estoy volviendo a poner aquí, así que si seguimos adelante y sacamos esa base de datos una vez más, irá a la búsqueda reciente de ese cliente y verán aquí abajo es nuestro nuevo, así que cada se agrega uno nuevo a esta hoja de Excel separada y eso es importante porque es esta base de datos a la que los otros usuarios se vincularán y les mostraré cómo se hace eso, por supuesto, y luego lo que queremos hacer es traer los datos aquí de nuevo, de modo que en realidad hay tres tablas, hay tres tablas , así que repasemos esas tres tablas, una es la liste ahora, estos no son sus datos originales y la razón por la que no lo son es porque quiero darle la capacidad de ordenar para filtrar datos y quiero que lo haga aquí, a veces sabe que en mis videos anteriores tenemos un clic o podemos hacer clic en un encabezado y ordenarlo, tenemos la capacidad de filtrar, así que quiero darle esa capacidad y podemos hacerlo si mira mis videos anteriores, sabe la clasificación con un clic del filtrado en línea y cosas así cuando siempre que estos no sean los datos originales, podemos hacerlo, así que quiero separar los datos Quiero separar los datos y esta es su base de datos, por lo que la idea es separar el front-end en el backend que hemos hecho eso aquí, así que eso significa que cuando lo ordenas o lo filtras, podemos tener que la idea es que Quiero mantener esta tabla oculta, probablemente oculta y fuera del camino para que los datos originales nunca se toquen correctamente porque cuando los filtramos no queremos ese toque y también quiero asegurarme de que esto siempre esté sincronizado. quiero asegurarme de que esto esté sincronizado con la base de datos en nuestra carpeta que es la carpeta que es esa esa es esa carpeta está bien, así que quiero asegurarme de que los datos de este cliente estén siempre sincronizados y sigamos adelante y eliminemos esto y yo Voy a crearlo de nuevo, así que avancemos y le mostraremos cómo se vería, continúe y elimine eso en todas partes, esa es una nueva función de Dropbox, así que avancemos y creemos una copia de esto y le mostraré cómo funcionaría, así que lo que Lo que haré es tomar esto y luego lo guardaré y luego lo que haré es también guardarlo, así que vamos a crear un nuevo libro de trabajo , varios libros de trabajo y lo guardaremos. en este también se llama libro de trabajo compartido y luego queremos diferenciar entre este y el anterior, así que solo pongamos una p pon dos aquí para que podamos ver claramente cuál es cuál ahora sigamos adelante y sabes qué déjame congelar esta columna dos porque quiero poder desplazarme hacia arriba y así podemos hacer eso, eso será muy, muy útil, así que siga adelante y congele eso y ahora podemos desplazarnos hacia arriba y sigamos adelante y abramos el anterior , que es sin el original, que está aquí, está bien, así que ahora tenemos que abrir y ahora sigamos adelante y veamos póngalos uno al lado del otro, así que seguiremos adelante y los organizaremos y llamémoslo verticalmente y ya no necesitamos que este esté abierto, cerremos eso y sigamos adelante y revisemos estos de nuevo verlos verticalmente, está bien, así que ahora tenemos para abrir ahora vemos que nuestro original está aquí y nuestro segundo está aquí, está bien, y para hacer eso, lo que seremos ya hemos hecho y les mostraré cómo se hizo. Necesito vincular eso. Necesito saber dónde está el base de datos es para este derecho, así que lo hemos buscado y sabemos dónde está y todo lo que hemos hecho es seleccionarlo. la base de datos está bien, así que sabemos que es importante y que ya está hecho para ambos archivos, por lo que lo único que necesitaría que hicieran sus usuarios es asegurarse de vincularse ahora si tiene un programa más grande, querrá tener un programa separado base de datos para cada uno y es solo porque es más rápido, no es necesario, en otras palabras, digamos que tiene contactos, tiene facturas, tiene contabilidad o tiene. Pondría un archivo de Excel separado para cada uno de ellos porque cuanto más pequeño es ese archivo de Excel cuanto más rápido se abre, más rápido se actualiza y más rápido se guarda y usted y la velocidad son un problema aquí, así que tendría derechos separados y luego simplemente los vincularía por separado, así que volvamos a nuestro original, que está aquí, el libro de trabajo que conoce sin los dos sigamos adelante y agreguemos un nuevo contacto y llamemos a esta persona, está bien Smith, no podemos prescindir del adicional y lo guardaremos bien, así que ahora lo hemos guardado en este y tenemos el contacto. guardar mensaje ahora quiero ir Vuelva a este y recuerde que tenemos la base de datos vinculada y miremos aquí abajo. No hay nada aquí, ¿verdad? poner esto en un temporizador, así que voy a hacer clic en actualizar contactos y ahora todo lo que hacemos es mirar aquí abajo y vemos que está aquí y esto , por supuesto, sucederá en computadoras separadas en todo el mundo, así que la idea es que simplemente se movió todo el camino desde aquí hasta allá y ahora sigamos adelante y actualicemos a Kate Smith, actualicemos sobre este, está bien, elijamos dos y actualicemos ahora, digamos que este usuario ha agregado un brindis , digamos que tenemos Los Ángeles como una ciudad correcta y luego hacemos clic en nuestro contacto de actualización en el libro de trabajo 2 ahora volvemos al libro de trabajo 1 y hacemos lo mismo y actualizamos el contexto de actualización de datos y volvemos a la derecha y aquí está bien Smith Los Ángeles entonces nos desplazamos hacia arriba aquí para que veas cómo funciona funciona en ambos sentidos ahora imagínese esto en todo el mundo tienes un programa construyes un programa que actúa como una base de datos poderosa y potente tanto en el front-end como en el back-end y los usuarios pueden usar tu programa en todo el mundo podrías tener 10 usuarios en diferentes ciudades y todos podrían estar trabajando en la misma aplicación al mismo tiempo, bueno, en realidad no es la misma aplicación, es básicamente un duplicado de ella, pero en realidad no es el mismo archivo de Excel ahora, esa es la diferencia con los libros de trabajo compartidos, en realidad están trabajando en el mismo archivo en Excel nunca fue diseñado para eso, esa es la razón por la que hay tantos problemas con las palabras de trabajo compartidas, nunca se diseñó con eso e incluso con todas las limitaciones, se bloquea, se producen fallas en la red, hay tantos problemas con esto y ahora lo importante es eso está bien, si miras en este archivo, estoy en un Dropbox, está bien, eso es importante, quieres estar en un archivo compartido, así que si tienes un Dropbox y tienes una carpeta compartida, es fundamental que necesites una carpeta compartida, por supuesto, la necesitamos d para poder compartir estos datos, pero lo que puede hacer aquí, digamos que no quiere que lo tenga en eso, sigamos adelante y regresemos donde teníamos la carpeta original que está aquí para que solo pueda ver este archivo este es el único archivo que debe compartirse, no necesitamos todos estos otros archivos, solo necesitamos compartir la base de datos, por lo que solo los archivos de la base de datos deben estar en esa carpeta compartida y esa carpeta compartida debe compartirse con todos los usuarios I estoy usando Dropbox Google Drive también funcionaría megha. Sé que una unidad podría funcionar tan bien siempre que sea una carpeta compartida entre sus usuarios, puede usarla y tiene que sincronizarse, en otras palabras, en otras palabras, cuando hago un actualización, sabe que esa sincronización tiene que ser automática, por lo que debería volverse automática y funciona realmente fantástico, sigamos y le mostremos cómo lo hicimos, sigamos y cerremos el libro de trabajo 2 y trabajaremos con uno. He visto cómo se maneja, así que ahora podemos seguir adelante y subir al capó y ver cómo hemos hecho esto, tenemos dos columnas ocultas como solemos hacer en la mayoría de los libros de trabajo compartidos porque ahí es donde guardamos nuestro código, así que sigamos adelante y le mostraremos lo que tenemos allí, no demasiado, solo unos pocos . algunas cosas, así que sigamos adelante y repasemos lo extraño cuando seleccionamos una fila, usamos código y, tal como lo hemos hecho, hemos hecho nueve, muchos otros videos que pueden ver donde la fila seleccionada siempre aparecerá y será una, así que cuando cambiemos eso irá para que lo usemos con nuestro formato condicional para resaltar eso y lo hemos repasado muchas veces antes, pero sigamos adelante y mostrémoslo bajo las reglas de administración, bueno, tenemos muchas una vez que no necesitamos aquí. pero básicamente solo algunos antiguos, podemos eliminarlos, solo tenemos dos, realmente dos reglas, aquí tenemos las filas alternativas que usamos en la tabla y tenemos la fila resaltada que básicamente dice que sabe si b1 es la fila y ese es el uno usamos por lo que es el que nos permite resaltar el seleccionado En la fila, también tenemos la identificación del contacto seleccionado y todo lo que hace es que puede usar un código que nos dice qué identificación, cuál es la identificación del contacto con el que estamos trabajando actualmente y esto nos ayudará cuando necesitemos actualizar. que necesitaremos saber qué fila hemos usado un máximo para averiguar cuál es el próximo ID de contacto y lo revisaré con usted y necesitamos saber cuál es la fila del seleccionado actual, así que si actualizamos eso si Actualizo que necesito saber qué actualización recuerde que esta fila a continuación no es nuestra base de datos, nuestra base de datos ha lanzado la hoja 2, por lo que necesitamos saber, por ejemplo, si estamos trabajando con Freight Frank Fred erst, sería el número cinco, es diciéndonos que la fila de nuestra base de datos es la fila seis seis de la base de datos, así que cuando entremos en la base de datos del cliente veremos que la fila seis es Frank, así que ese es el que queremos, ese es el que queremos trabajar para que cuando hagamos un cambio a eso, si hacemos el cambio en las notas, todos cambian y hacemos clic en actualizar, necesitamos saber qué fila estamos actualizando eso será la fila seis cuando hacemos clic en actualizar sabemos automáticamente que eso va a estar aquí va a cambiar aquí mismo y luego lo que quiero hacer es tomar todos estos datos y quiero traerlos atrás y póngalo aquí, así que básicamente esto es simplemente una copia de los datos, también quiero hacer eso, así que seguiremos adelante y haremos eso, vayamos al VBA en un momento, déjame mostrarte Muy rápido, está bien , así que usé la coincidencia aquí para obtener ese contacto. Uso una coincidencia y todo lo que hicimos fue hacer coincidir la ID del contacto. Ahora, la ID del contacto es un rango con nombre en el sentido de que cuando miramos debajo de las fórmulas, ingresamos al administrador de nombres, solo tenemos uno. rango con nombre y usamos compensación porque esto va a crecer esto va a crecer así que usamos compensación contará el número de celdas con texto y irá así que a medida que agregamos a esto crecerá y crecerá y crecerá por lo que el ID de contacto y la razón por la que también agregamos uno comienza en la Fila dos, por lo que queremos saber una vez que hayamos encontrado d una vez que localizamos lo que una vez que ubicamos la ID aquí, usamos esta ID, la ID seleccionada agregamos uno a eso porque comenzamos en la fila dos a la derecha, nuestro primer contacto comienza en la Fila dos, así que queremos el número de fila para que el el primero está en la fila número dos, el segundo está en la fila número tres, es por eso que cuando usamos coincidencia, agregamos uno , quiero decir, usamos maestro, teníamos uno y lo envolveremos en una aventura si hay un heredero esa fórmula por alguna razón no se encuentra, solo queremos asegurarnos de poner un vacío para que vba no tenga ningún problema, solo podemos probar si está en blanco, eso es todo lo que tenemos que hacer si está en blanco, entonces sabemos que hay un error cuando se trata de VBA También quiero saber si es un nuevo contacto o no está bien, eso es importante, así que cuando hacemos clic en nuevo contacto, esto se vuelve verdadero. Quiero saber si es un nuevo contacto porque cuando lo guardo necesito saber si debería haber firmado una nueva identificación de contacto o no, así que si es un nuevo contacto justo cuando cancelamos, esto va mal ck a falso, por ejemplo , cuando hacemos una prueba de cambio correcta, necesito saber que usamos el mismo botón y la misma macro para actualizar y guardar, y les mostraré cómo lo hacemos, es genial, pero fuera, así que necesito saber si está activado si es un contacto existente use D la fila de la base de datos de contactos en b9 si es un contacto nuevo si esto es cierto necesitamos crear una nueva fila y le mostraré cómo lo hicimos en el código entonces cuando actualizamos eso en existente, se trae automáticamente aquí, así es como lo hacemos, ingresemos a VBA y le mostremos lo que tenemos allí, repasaremos rápidamente las macros de contacto porque realmente quiero compartir y ese es el verdadero punto focal principal de esta capacitación, pero pasaremos rápidamente a la pestaña de desarrolladores. Si no tiene una pestaña de desarrolladores , puede acceder a ella desde el archivo a las opciones y luego seguir adelante y haga clic en la cinta de personalización y encontrará la pestaña de desarrolladores, asegúrese de que esté seleccionada alt f11 g Conéctese a los desarrolladores también o Visual Basic haciendo clic aquí. Aquí está nuestro VBA. Tenemos algunas macros en la hoja. Cuando hacemos clic en Contactos, podemos ver solo algunas. Tenemos una pestaña automatizada y no vamos a entrar . esto porque eso es, pero si desea ver cómo creamos estas pestañas automáticas, las pestañas automáticas nos permiten pasar de una a otra automáticamente, esa es una gran característica. Guardar automáticamente la carga de pestañas . Encontraré el enlace que estaba debajo de uno de esos y donde cubrimos mucho de eso, así que no vamos a cubrir eso porque tenemos mucho que cubrir, pero básicamente la idea es que ingreses aquí. y tiras hacia abajo y luego simplemente pones el rango aquí cualquiera que sea el rango de las celdas y el orden y eso es lo que va a ser tu pestaña, así que es muy, muy simple y luego lo encendemos y lo apagamos al encender la pestaña cuando la hoja de trabajo está activa cuando desactivamos la hoja de trabajo la apagamos para que Eso es todo, la pestaña es que solo tenemos un poco de macros en la hoja en sí, básicamente cuando un usuario hace un cambio de selección en el dis donde esta es nuestra tabla principal dentro de esa hoja de contacto y solo vamos a poner la fila b1 para nuestro formato condicional y luego vamos a cargar el contacto, vamos a ejecutar una macro llamada cargar contacto que es para las macros en la hoja, vayamos a las macros de contacto y tengo todos los cockers asociados con contactos aquí tenemos nuevos contacto tenemos guardar actualización recordar la misma macro ya sea guardando un nuevo contacto o actualizando uno existente estamos usando la misma macro así que eso es muy conveniente tenemos que cancelar nuevo si han seleccionado un nuevo contacto ahora ellos Decide cancelarlo justo donde es una macro en sí misma, pero es solo una línea de macro. También tenemos eliminar contacto. Tenemos que cargar contacto, así que cargar contacto. Básicamente, carga la información cuando seleccionas, carga toda la información de contacto en estas seis celdas. abdominales ove así como el contacto seleccionado Ani así que 7 min en total también tenemos actualizar la tabla de contactos actualizar la tabla de contactos básicamente nos permite tomar información de la base de datos y traerla al contexto, así que eso es todo lo que hace esa macro y qué más hace tenemos tenemos un mensaje de guardar contacto esto es solo un mensaje de desvanecimiento hemos visto mensajes de desvanecimiento antes pero básicamente cuando actualizamos un contacto y luego tenemos un mensaje que aparecerá contacto guardar verás ese pequeño mensaje de desvanecimiento correcto ahí hay un mensaje que se desvanece, también hay una capacitación sobre los mensajes que se desvanecen, así que puede repasarlo, pero solo nos deja saber que un contexto no se guardó o menos una nota de usuario sin una de esas molestas ventanas emergentes que un usuario tiene que presionar ok en esas son todas las macros que ves, podemos hacer todo eso, guardar nueva eliminación con solo un poco de código. He refinado este código a lo largo de los años en solo el mínimo, justo lo que se necesita , vamos a ir sobre esto un poco rápido porque Tengo muchas ganas de llegar a los datos del sumidero, pero quiero repasarlo contigo, el nuevo contacto, todo lo que estamos haciendo es borrar los campos existentes, tenemos que borrarlo si vamos a poner uno nuevo. y déjame mostrarte eso si queremos aclarar eso, queremos asegurarnos de despejar los campos, así que despejamos eso y luego también queremos asegurarnos de despejar las carreteras seleccionadas, así que simplemente borre esos borre esas celdas usando borrar contenido queremos cambiar los conjuntos de botones correctamente si notará que hay un botón diferente configure este grupo este grupo este grupo aquí nueva actualización y eliminación son todos los contactos existentes los usamos para los contactos existentes correcto pero si hacemos clic en nuevo, usamos un grupo diferente, solo tenemos dos botones, tenemos guardar y cancelar, por lo que este es un nuevo grupo de contacto, nuevo grupo de contacto, así que le he dado un nombre a este grupo de botones y eso nos permite mostrar y ocultar botones muy fácilmente tan nuevo y consejo dos grupos cinco botones tot al en dos grupos, por lo que esas dos líneas de código aquí nos permiten mostrarlas y ocultarlas en consecuencia, por lo que para un nuevo contacto ocultaremos el grupo existente y mostraremos los nuevos que configuraremos b10 recuerda b10 háganos saber si es un contacto nuevo o no, queremos configurarlo como verdadero. Quiero asegurarme de que ese contacto sea nuevo para que sepamos si es un contacto nuevo y luego f5 vamos a seleccionar y eso básicamente nos permite ingrese el nombre primero, le da al usuario un poco de conveniencia para que cuando estuvimos aquí y queremos un nuevo contacto, lo primero que hacen es ingresar el nombre y es obligatorio, por lo que seleccionamos f5 automáticamente para dar estos para que el el usuario solo tiene que comenzar a escribir , es por eso que hemos decidido seleccionar, así que eso es todo para el contenido nuevo, muy simple, ahora lo siguiente es guardar y actualizar la actualización de guardado de contexto, por lo que usaremos la misma macro para ambos, pero aún debemos asegurarnos . que sepamos si peor estamos es un contacto nuevo o existente y vamos a pon a prueba eso en un momento lo primero que queremos asegurarnos es que f5 esté vacío. Quiero asegurarme de que haya al menos un nombre, así que si f5, que es el nombre, si está vacío, arrojaremos un mensaje. recuadro que dice por favor ingrese un nombre de contacto y luego saldremos ok vamos a detener los cálculos y si recuerda en nuestros videos antiguos detener el cálculo nos ayuda a leer y hacerlo más rápido todo lo que estamos haciendo es apagar los cálculos y desactivar la actualización de la pantalla, solo debemos asegurarnos de que antes de que finalice la macro restablezcamos el cálculo, lo que vuelve a convertir todo el cálculo en automático y activa la actualización de la pantalla, así que eso es lo que hacen, así que lo verá a menudo en mi código detener el cálculo ahora necesitamos ejecutar nuestras pruebas tenemos un si y si justo aquí ejecutamos una prueba necesitamos saber si este es un nuevo contacto si B 10 es verdadero entonces es un nuevo contacto por lo que la fila de la base de datos de contacto va ser la primera fila disponible en nuestra base de datos el primer ro disponible w que está justo aquí, así que vamos a ejecutar una prueba, la última, la última fila con el texto es 20 y, por lo tanto, el más 1 es 21, por lo que nos dirá que 21 es la primera fila disponible, por lo que nuestra base de datos la fila es 21 si es nueva, así que hacemos eso si es nueva y también necesitamos saber la hoja a necesitamos saber cuáles son las nuevas ideas cuál es la nueva identificación ahora queremos una identificación de contacto única para todos necesitamos asegurarnos ¿Cómo podemos asegurarnos de que la próxima identificación sea nueva? Podemos usar las Mac y les mostraré cómo hacerlo para que nuestra próxima identificación esté ubicada en b8. Echemos un vistazo en b8 y veamos qué no está allí, ese es el máximo . esa es la razón de max hola allí y en el contexto vamos y bajo b8 lo que estamos diciendo es el máximo de ID de contexto más uno, así que todo lo que dirá es el máximo cuál es el máximo de todos estos en este caso es 19 y luego más uno es 20, por lo que nos dará nuestra próxima identificación de contacto para que sepamos que tenemos una identificación de contacto única para todos y cada uno de ellos que será muy útil en el futuro, siempre desea tener una identificación única y, especialmente cuando tiene una base de datos, como si tiende a cambiar los nombres de los clientes, si tiene facturas o cosas por el estilo, usa la identificación de contacto porque la identificación de contacto no cambiará para que siempre tenga el contacto correcto de esa manera, puede tener la capacidad de cambiar el nombre y luego los registros asociados, como las facturas, los pagos, la programación, siempre estarán con el mismo contacto, incluso cuando cambie el nombre, por lo que es realmente una buena idea use una identificación única que esté oculta, es decir, que el usuario no pueda cambiar y eso es realmente muy importante, por eso lo hacemos, está bien , a continuación, si lo existente es nuevo, si lo existente es nuevo, haremos lo nuevo lo nuevo la fila de contacto es la primera disponible y vamos a asignarle un nuevo contacto a las 8:00; de lo contrario, si existe, hacemos dos cosas, primero si queremos asegurarnos de que b9 esté vacío si no hay una fila asociada con eso, recuerde que b9 es nuestro fila de contacto Solo quiero salir de ese sub realmente mire si salimos del sub tenemos parada vamos a hacer una cosa más deberíamos en realidad deberíamos restablecer el cálculo recuerda antes de salir del sub restablecer tenemos dos opciones podemos hacer restablecer el cálculo aquí a la derecha así que podemos hacer eso o podemos detener el cálculo más allá de aquí, también podemos hacerlo si traemos si no lo detenemos, entonces podemos, no necesitamos restablecerlo, hagámoslo, así que tenemos dos opciones porque yo como menos menos código, así que como no hay mucho que hacer aquí, no hay mucho que reducir la velocidad, así que podemos salir del sub sin reiniciarlo y luego movemos detener el cálculo, que es R, que es un cálculo para la actualización manual y de pantalla, así que traeremos que aquí abajo, entonces no necesitamos restablecerlo, es simplemente agradable, así que si sabemos si es un contacto existente, entonces la base de datos de contactos ro que ya sabemos está en b9, recuerde que b9 es nuestro contacto ro aquí b9 esa es nuestra base de datos ro entonces sabemos que si es uno existente, sabemos que basado en el uso de la coincidencia, de modo que vamos a determinar nuestra base de datos de contactos si es nueva, le daremos el primer rango si es existente, ya lo tenemos, eso es todo lo que necesitamos hacer ahora, el resto no lo hace No importa si es un contacto nuevo o si es un contacto existente, todo lo demás es igual y eso es realmente útil, así que todo lo que vamos a hacer es correr para el próximo y hemos mapeado estos campos y lo haré. mostrarle cómo funciona eso y se lo mostramos antes, pero se lo mostraré de nuevo porque puede ser un poco confuso. Hemos hecho un mapeo de datos. sigamos y centremos esto, se ve un poco mejor, pero en realidad no importa, es una base de datos, tal vez nadie la vea, así que la idea es que uno, dos, tres, cuatro, así que sabemos los números de columna que esto es, eso es muy importante, así que si nuestro nombre de cliente está en la columna número dos y la dirección es la llamada número tres necesito saber necesito t o mapa que necesito saber que esta es la columna número dos y sé que esta es la columna número tres en la base de datos, así que la hemos mapeado aquí mismo, la columna de la base de datos mapeando el nombre del cliente es dos direcciones tres bien, así que sabemos que si nosotros si estamos aquí y esta es la columna igual a la columna número seis esta es la columna número seis a la derecha esta es la columna número seis y sabemos que si miramos exactamente diez columnas adelante es para recordar esto es calma esto es calma 16 es igual a la columna derecha para que significa que volvamos aquí, lo que significa que si vamos a la columna existente, la columna derecha, la columna 6 más 10 es 2, llamando correctamente, el nombre del cliente es a la dirección es 3, la ciudad es 4, así que esto mapea qué columna en nuestra base de datos y básicamente esta es solo una forma rápida de escribir menos código, un poco más de trabajo en la parte delantera, pero mucho menos código porque lo que quiero hacer es esto: quiero ejecutar cada columna desde Quiero ir de la columna 6 a columna digamos siete ocho nueve de peine seis esta noche t y quiero pasar de la fila cinco a la siete a la nueve, así que básicamente quiero mirar a través de estos seis campos Quiero mirar a través de ellos Quiero para cada uno Quiero obtener el Quiero obtener la columna de la base de datos que conozco la fila de la base de datos a la derecha las filas, o bien será esto en una nueva o será si existe, estará aquí , así que sabemos que ya hemos definido la fila que necesitamos para la columna de la base de datos y las columnas aquí, así que todo lo que estamos haciendo y lo he hecho en algunos entrenamientos antes de que todo lo que vamos a hacer es un bucle, déjame usar dos bucles, uno para las columnas de la columna seis para calmar a nueve y un bucle desde atrapado desde fila cinco a fila siete a fila nueve así que recuerda seis vamos a ir de seis a nueve pero vamos vamos a paso tres porque no hay nada aquí y no hay nada aquí así que seis a nueve paso tres de cinco a siete a nueve paso dos, así que básicamente necesito dos bucles para pasar muy rápido a través de eso y lo he hecho bien aquí para la fila es igual a cinco a nueve paso 2 que significa omitir eso significa pasar de cinco a siete a nueve queremos omitir que también queremos ir a través de las columnas de la columna seis a nueve y paso tres que significa solo seis y nueve Básicamente , va a pasar de seis a nueve muy fácilmente, así que solo tenemos que escribir una línea de código que significa que la hoja está en la fila de la base de datos de contactos. Sabemos esa fila y la columna. ¿Cuál es la columna? La llamada es el contacto. ro estaba en más la columna de contacto más diez recordó diez distancias es donde los mapeamos qué valor es esto cuál es el valor de esto el valor de esto está justo aquí el valor de eso está justo aquí justo aquí es dos o es tres o son cuatro o cinco o seis o siete esas son las columnas en nuestra base de datos a la derecha dos tres cuatro cinco seis siete a la derecha entonces esas son las columnas para que ahora sepamos cuál es la columna hemos mapeado las columnas tenemos la fila sabemos exactamente dónde poner esos valores, así que tenemos esta es la columna, tenemos la fila, tenemos la columna y sabemos cuál es el valor correcto, así que aquí es donde se ubicará y qué hacen las celdas más la fila de contacto en la columna de contacto, así que vamos a revisar eso . y básicamente todo lo que va a hacer es poner los datos en la base de datos , eso es todo lo que va a hacer y lo que va a ir a los bucles, ahora eso es todo, hemos terminado, así que es muy rápido, muy simple, muy fácil cuando hacemos ese tipo de asignación de datos. reduce, es un poco más de trabajo en la celda en las celdas, pero es muy divertido, se ejecuta mucho más rápido y es mucho menos codificar b10 , vamos a configurar que los nuevos clientes ya no sean un nuevo contacto porque acabamos de crearlo así queremos asegurarnos de establecer eso en falso y también queremos establecer la hora. Esto será útil. Necesito saber que acabamos de hacer un cambio. Le mostraré cómo ayudará eso en el futuro, pero eso es importante. El último cambio que acabamos de hacer es un capítulo . ange, por lo que queremos poner la fecha actual y la hora actual aquí, eso es importante, así que lo pondremos allí mismo en b12 y, a continuación, queremos asegurarnos de cambiar nuestras barras de herramientas si es un nuevo contacto que queremos. asegúrese de que se muestre el grupo de botones existente y, si era un contexto nuevo, seguramente lo acabamos de crear, por lo que ya no será un contacto nuevo, por lo que queremos asegurarnos de que el grupo de contacto nuevo ya no esté visible y luego estamos vamos a ejecutar una macro llamada sincronizar con la base de datos y luego vamos a ejecutar una macro llamada actualizar la tabla de contactos y luego reiniciaremos la calculadora y luego mostraremos los mensajes guardados de los contactos, así que tenemos tres macros para ejecutar restablecer calculadora, ya lo viste eso es básicamente activar los cálculos automáticos y activar la actualización de la pantalla para que sepamos qué hay allí. Todavía no le hemos mostrado qué es sincronizar con la base de datos y actualizar la tabla de contactos . estamos haciendo es vamos a ta ke vamos a borrar lo que sea que esté en d13 a j99 y tomaremos lo que sea que esté dentro determinaremos la última fila de la base de datos y luego copiaremos todo y les mostraré lo que estamos haciendo y luego te lo mostraré de nuevo en el código que vamos a borrar sigamos y ocultemos esto por ahora y vamos a borrar todo aquí recuerda que estos no son nuestros datos, así que podemos borrarlos directamente, puedo, puedo borrarlo fácilmente, es, es, no importa, solo puedo actualizarlo y luego todo regresa, así que no hay problema allí, así que podemos borrar eso, así que la primera parte del código simplemente borra todo el datos y luego lo que quiero hacer es determinar la última fila aquí y quiero tomar todos los datos aquí y traerlos allí y no quiero usar copiar y pegar, quiero usar valores porque solo estamos copiando los valores y también es más rápido, así que vamos a traer este valor sabemos que estamos comenzando en la fila 2 aquí y vamos a la fila 20 aquí, estamos comenzando en la fila 14, así que disculpe la fila 13, así que si comenzamos en la fila 13, debemos asegurarnos de que estamos agregando 1111 porque estamos comenzando mucho más alto que aquí 2 y 13, entonces vamos a hacer exactamente eso dentro del código aquí, así que vamos a limpiar la tabla tal como lo hice allí, vamos a determinar la última fila de los datos en la base de datos en la hoja 2, luego vamos a hacer es vamos a tomar d 13 más la última fila más 11 a la derecha más 11 porque estamos comenzando mucho más arriba y eso es igual a 2 hasta G y la última fila de los datos, así que todo esto es copiar los datos cuando actualicemos esto y le asigné a esta macro una tabla de contacto de actualización a este botón aquí, haga clic con el botón derecho, haga clic con el botón derecho, no lo duplique, haga clic con el botón derecho y luego dentro de assai Macra y verá si esto está sincronizado desde la base de datos, pero eso también lo incluye sincronizar desde la base de datos e iremos y eso también incluye la tabla de contactos Actualizar, así que iremos a casa, revisaremos eso para que b vuelve a ingresar los datos para que se actualice la base de datos, por lo que todo lo que queremos hacer es asegurarnos de que cuando hagamos un cambio aquí, queremos asegurarnos de que cualquier cambio que hagamos también se vuelva a traer a esta tabla aquí, así que es por eso que usamos actualizar la tabla de contactos después de guardar o actualizar un contacto, necesitamos asegurarnos de que esos cambios sean mejores, así que también ejecutaremos la sincronización con la base de datos y seguiremos adelante y repasaremos eso y seguiremos sobre esa enmienda, continuemos con las macros de contacto, cancelar nuevo, todo lo que hacemos es seleccionar ether teen porque cuando seleccionamos ether teen automáticamente tenemos una macro que se ejecuta y, por lo tanto, si estamos en un nuevo contacto y hacemos clic en nuevo 13 todos nosotros, es lo mismo nuevo contacto cancelar nuevo es exactamente lo mismo que sería seleccionar uno existente, así que todo lo que tengo que hacer es escribir una macro que haga solo esa selección de éter adolescente, así que he hecho solo ese éter adolescente solo éter adolescente seleccione eliminar contacto bien queremos eso es muy fácil también debemos asegurarnos de que haya un contacto que tengamos una fila exacta b9 nos dice nuestra fila de contacto que está justo aquí debajo de b9 recuerda que fue un que nos dice nuestra fila de la base de datos de contactos aquí así que esa es nuestra coincidencia b9 dice nosotros remamos, así que queremos que si hay aire, estará en blanco, por lo que primero queremos hacer una prueba para asegurarnos de que no esté en blanco y , si no lo está, podemos continuar y eliminarlo, es posible que desee poner en un mensaje caja cualquier cosa como ¿estás seguro de que quieres eliminar este contacto ? es trampa: eliminamos esa fila, la fila de la base de datos de contacto y la imagen de contacto o la eliminamos y luego actualizamos el último cambio local correcto, lo actualizamos, hicimos un cambio en la base de datos, por lo que queremos actualizar esa hora, necesitamos saber cuándo fue eso. actualizado que es importante para la sincronización y te lo mostraré en un minuto, pero hay una razón estamos mostrando la hora actual en b12 b13 una selección que significa que simplemente seleccionamos el último sincronizamos con la base de datos y actualizamos el contacto y vemos en base a hoy Todavía no he revisado eso cargando el contacto borramos la información de contacto actual actualizamos el conjunto de botones, ingresamos cualquier fila de contactos que tengamos, determinamos los contactores en b1 y luego cargamos la fila de contactos y les mostraré cómo se hace, pero usamos el mapeo de datos una vez más, pero un tipo diferente de datos mapeo déjame mostrarte que también está en 11, esta es una fila oculta y verás aquí que he mapeado, todos están mapeados, esto me dice que el nombre del cliente se encuentra en podemos eliminar el número de columna que no Ya no necesito eso f5 es el nombre del contacto I 5 es la dirección y así sucesivamente f7 es la ciudad, así que he mapeado aquí debajo de la fila oculta todas las celdas, así que todo lo que tengo que hacer es cuando estoy cargando un contacto Solo tengo que irme de aquí vamos a poner voy a poner la identificación justo en un vamos a estar en contacto con t el sombrero va en b2 ID de contacto va en b2 todo lo demás va arriba hagamos esto pequeño no necesitamos ocultarlos solo hazlos pequeños bien así sabemos a dónde va el contacto de y todo lo demás todos los otros seis campos van aquí y los hemos mapeado, así que necesitamos saber 11, así que voy a ejecutar un ciclo, vamos a ejecutar un ciclo desde la columna 5 hasta la columna 10, 5 a 10, vamos a ejecutar un ciclo que vamos a terminar cada uno vamos a decir ok en la fila 11 en la columna 5 poner lo que esté aquí lo que sea en nuestra línea de selección poner eso en f5 escribir lo que esté en nuestra fila seleccionada ponerlo en I 5 y así sucesivamente para ejecutar un ciclo usando el mapeo que hemos hecho exactamente eso en la ejecución del código. He ejecutado un ciclo for next desde la columna de contacto de cinco a diez, luego vamos a decir el rango de las columnas 11, la fila es 11 , ahí es donde contiene nuestro mapeo y nosotros. voy a decir la columna de contacto cuál es el valor cuál es este valor celdas 11 columna de contacto cuál es el valor ese valor será una dirección tenga cinco correcto o i7 lo que sea que va a estar aquí, vamos a poner que ese es el rango y ese rango es igual a la fila de contacto actual en las celdas actuales, así que básicamente todo lo que hace es lo que dije es poner lo que sea Ejecutará un bucle correcto. Ejecutará un bucle desde la columna cinco para peinar diez de cinco a diez. Lo que sea que esté en nuestra fila seleccionada, tomará eso y determinará a dónde va y lo pondrá aquí o aquí o. aquí o aquí aquí así que eso es exactamente lo que hace puedes seguirlo sé que me estoy moviendo rápido pero hay cosas más importantes a las que tenemos que llegar y ya llevamos treinta minutos en este entrenamiento así que va a ser un mucho tiempo, toma tu café, no te duermas, está bien, continúa en b2, queremos asegurarnos de ingresar nuestra ID de contacto para saber cuál es el contacto que va a ir a B, eso es importante y B, diez, queremos asegurarnos. que configuramos ya no está si hemos seleccionado un c existente contacto ya no es un contacto nuevo en caso de que estuviéramos agregando un contacto, por lo que queremos asegurarnos de configurar B diez es falso ya no es un contacto nuevo el siguiente con el que hemos estado hemos actualizado el contacto y hemos hecho el contacto guardar mensajes solo para que eso sea todo para todas las macros de contacto y así es básicamente cómo revisamos nuestros contactos, ya sea que se trate de una nueva actualización de contacto, eliminar y actualizar, así es como hacemos todo eso, entremos en la parte más importante, que es sincronizar y eso se hace con relativa facilidad en solo dos macros básicas, tenemos dos marcadores básicos, tenemos sincronización con la base de datos y sincronización desde la base de datos, la idea es que queremos tomar estos datos y entrar en nuestra base de datos, nuestra base de datos es esto, recuerde nuestra base de datos es ese archivo de Excel que tenía datos personalizados XLS que hemos buscado lo hemos buscado sabemos que sabemos que queremos asegurarnos de que todo entre en el disco acceso a datos personalizados queremos poner los datos allí está bien eso es sincronizar a la base de datos ahora sincronizar desde la base de datos es I w para tomar lo que sea que haya en ese archivo de Excel, lo que sea que haya en ese archivo de Excel y ponerlo aquí, sincronizar desde la base de datos toma ese archivo de Excel y lo pone allí, así que esas son las dos macros que necesitamos hacer, o bien necesitamos poner información en la base de datos o necesitamos extraer información, por lo que estamos insertando datos en la base de datos o los estamos extrayendo de la base de datos, así que avancemos y vayamos a sincronizar con la base de datos y así es como lo hemos hecho ahora antes de hacerlo nosotros He definido algunos objetos para el sistema de archivos si sigue alguno de los últimos cuatro videos bajo el objeto del sistema de archivos si no lo ha hecho, es una excelente capacitación sobre sistemas de archivos donde creamos un administrador de archivos y eso fue realmente sorprendente, así que asegúrese de verificar que también cubrimos mucho el sistema de archivos y vamos a hacer un poco de eso hoy solo porque necesitamos obtener una fecha de actualización del archivo vamos a crear algunas conexiones necesitamos crear una conexión de datos así que vamos a dimensionar la conexión y t El conjunto de registros como objetos y luego tenemos dos fechas. Necesitamos comparar algunas dos fechas. Necesito saber cuál fue nuestra última actualización de la base de datos y nuestro último cambio local. Eso significa que el cambio. Nuestro último cambio local está aquí. lo hemos estado actualizando y les dije que el último cambio local está aquí, así que cada vez que hacemos un cambio, ya sea que actualicemos un contacto, creemos un nuevo contacto o eliminemos un contacto, esos tres tipos de cambios cada vez que hacemos eso Puse el tiempo ahora aquí mismo en b12 es el ahora, así que eso nos dice que está bien, acabamos de hacer un cambio, así que eso es importante, necesitamos saber cuándo se hizo ese cambio, así que eso está hecho, así que el cambio está hecho y luego es por eso que necesito el último cambio local y la última actualización de la base de datos, así que si otro usuario ha actualizado su archivo de Excel, también necesito saber cuándo realizó ese cambio. Necesito saber si hubo un cambio. Necesito saber y dónde está eso que está aquí . sigamos adelante y hagamos los libros de trabajo compartidos que necesito saber está aquí si alguien en nuestra carpeta compartida hizo un cambio aquí, digamos 610 345 y digamos su cambio correcto , digamos que hizo un cambio hace cinco minutos y nosotros hicimos un cambio hace 15 minutos, necesito asegurarme de que su cambio tenga prioridad así que necesito decir que está bien antes de que eliminemos antes de que hagamos algo, traiga sus cambios y tráigalos a nuestra base de datos, luego haga nuestros cambios, así que necesitamos saber esta fecha modificada, eso es crítico, así que es importante acertar en ese momento. entonces necesitamos saber qué hora es para que la usemos como la última fecha de modificación de la base de datos cuando la base de datos se modificó por última vez, entonces necesitamos la última actualización de la base de datos, obtendremos esa fecha ahora cuando sincronizar con la base de datos que necesitamos, primero que nada, necesitamos obtener el archivo de la base de datos y ese es un m5, recuerde que es la ruta completa del archivo de nuestra base de datos, por lo que siempre es importante, por lo que cada usuario deberá hacer eso, necesitamos saber fm5 m5 cuanto es el fi entero le ruta de esa base de datos, por lo que es importante sin eso, no podemos si usted cuando hace esto para su trabajo, pero asegúrese de ejecutar una verificación aquí No me metí en eso, asegúrese de ejecutar una verificación , asegúrese de que sea válido y haga seguro que no está en blanco, querrá poner algunas comprobaciones en eso, así que adelante y hágalo para que tengamos el archivo de la base de datos, es lo que necesito, allí vamos, así que el archivo de la base de datos es m5, el último cambio local que acabo de mostrar. usted que b12 recuerda que esa fue la última vez que localizamos y ahora lo que vamos a hacer es configurar ese sistema de archivos de objetos esto solo crea un objeto de secuencias de comandos que básicamente nos permite obtener acceso a nuestras carpetas porque necesito saber cuál es el cambiar la fecha en la que vamos a establecer el archivo de objeto en nuestro archivo de base de datos, esta es nuestra base de datos correcta y necesitamos acceder a eso, necesito saber esto, entonces quiero ejecutar una verificación una vez que tenga esta información , la base de datos de archivos de objetos es así aquí todo lo que he hecho es decir ok esto es lo que necesito porque voy a necesitar inf formación de esto, así que acabamos de decirle a un DBA T que queremos trabajar con este archivo aquí mismo, ¿qué queremos de ese archivo? Quiero la última fecha de modificación y quiero saber algo al respecto si la fecha correcta del archivo de objeto es la fecha de modificación es menor es menor que el cambio local, lo que significa que si es más antiguo, eso significa que si el nuestro es más nuevo , ¿verdad? Si nuestro archivo es más nuevo y tenemos un cambio más nuevo, entonces podemos continuar. y podemos eliminarlo y asegurarnos de reemplazarlo con uno más nuevo, así que lo que vamos a hacer es decir, está bien, no hay cambios nuevos, eso significa que no hay cambios nuevos en nuestro archivo de base de datos, no hay forma de hacerlo. un poco más pequeño, no hay nuevos cambios aquí, lo que significa que podemos tomar estos datos, estos datos aquí mismo, crear un nuevo archivo de base de datos, eliminar el anterior, crear uno nuevo y ponerlo en su lugar para que podamos hacer exactamente eso, eso es todo. el código lo mata, elimina la versión actual de la base de datos, entonces tomará esto libro de trabajo hojas base de datos del cliente y va a copiar va a tomar esta hoja solo esta hoja vamos a crear una copia en un nuevo libro de trabajo y luego vamos a poner ese libro de trabajo y vamos a decir que el formato de archivo aquí está significa que 51 es XLS X y luego vamos a guardar eso y vamos a cerrar ese archivo, así que eso es todo lo que hace bien, así que vamos a copiar este libro de trabajo, vamos a guardar el nombre del archivo guardar como el nombre del archivo mismo nombre que antes, recuerde que primero debemos eliminarlo, no podemos, no podemos copiarlo y colocarlo en la carpeta si es que hay una copia activa, por lo que debemos asegurarnos de eliminar o, en otras palabras, eliminar la versión actual de la base de datos antes de cree uno nuevo, así que vamos a copiar la hoja , luego vamos a crear, luego vamos a tomar el libro de trabajo actual, no el actual, la hoja actual, esto funcionó solo con la hoja, solo con esa hoja y vamos a guardar esa hoja como archivo de base de datos del mismo nombre y luego le daremos un formato de archivo 51 que es xlsx, no necesitamos macros en este libro de trabajo, es solo una celda simple que queríamos abrir rápidamente, queremos que se guarde rápidamente y no queremos ninguna, solo queremos una base de datos muy simple, así que le daremos xlsx y luego vamos a cerrar eso, nos aseguraremos de que se cierre, así que cuando hagamos eso, todo lo que haga es ejecutarlo, simplemente haremos clic en eso y se ejecutará muy rápido y eso es todo y eso es solo si y eso es solo si nuestro archivo es más nuevo que el archivo anterior, está bien, pero ¿y si no? ¿Qué pasa si el archivo anterior es más nuevo? ¿Qué pasa si el objeto modificado por última vez es más nuevo que el último cambio local? Necesito tomar la información que está en esa base de datos . Necesito tomar la información que está aquí y traerla aquí. Está bien, hagamos un pequeño cambio. Hagamos 20 correctamente y esto está en nuestra base de datos. eso es solo el cambio directo de la base de datos ahora que hemos hecho una actualización a eso ahora cuando ejecutamos th en el código, necesito saber si es ahora, acabamos de hacer un cambio, así que sabemos que ahora mismo 6:10 4:16 p. cambio en nuestro último cambio es seis nueve a la derecha 3:45 así que eso es mucho más antiguo, así que eso nos dirá oye, tenemos que hacerlo antes de que nos guste antes de hacer cualquier cambio aquí, necesitamos extraer los datos más nuevos primero, los datos más nuevos primero deben entre, vamos a hacer exactamente eso, entonces, ¿qué va a decir si la fecha de la última modificación es mayor que la última fecha local, que es entonces, debemos hacer eso, así que cuando lo ejecutemos, entonces, cuando lo ejecutemos, sigamos la base de datos aquí y cuando ejecutamos esto, simplemente hacemos clic en ejecutar y luego esa base de datos se agregará aquí mismo, verá cómo fue eso porque necesitamos saber, así que simplemente ejecuté este código, así que sigamos adelante y repasemos esto . código por lo que esa es la razón por la que el último cambio local nuevamente lo definiremos en b12 estableceremos el d abase que es m5 igual que los otros otra vez vamos a obtener el objeto de secuencias de comandos porque necesitamos estas dos líneas cuándo obtener eso para obtener la última fecha de modificación de la base de datos y nuevamente vamos a ejecutar nuestro si la declaración pero esto es lo contrario si la última fecha de modificación es mayor, luego ejecútela entonces lo que no hacemos lo que queremos hacer creamos una conexión esto se llama una conexión de base de datos hago una conexión de base de datos y es básicamente lo que lo que estamos haciendo es vamos a entrar aquí vamos a datos y estamos creando y luego una conexión escribir una nueva conexión bien vamos a crear esta conexión que hemos creado esto es lo que estamos haciendo pero lo estamos haciendo a través de VBA, vamos a conectar la base de datos, así que eso es lo que estamos haciendo, pero lo estamos haciendo a través de V, así que una vez que creamos, esto nos permite extraer los datos de la base de datos sin realmente abriendo el archivo, que en realidad es muy rápido y muy conveniente, por lo que necesitamos configurar nuestro objeto c conexión y luego que se conecta al archivo real que se conectará al archivo y necesitamos crear un conjunto de registros, por lo que primero debemos crear estas dos conexiones y luego, en la conexión, debemos abrirla y esto nos dice qué proveedor es este la versión más nueva y esto cubriría Excel 2007 y superior Creo que usaría 8.0 y algo si está usando menos de 2007, así que si tiene una versión anterior a Excel 2007 , tal vez debería actualizarla, pero si no es así actualizándolo como si usara 2003, tendrá que hacer un cambio aquí. Creo que tendrá que usar 8.0 y tal vez algo diferente a AC II, pero esto cubrirá cualquier versión de Excel en los últimos diez años y lo he probado en más reciente. las versiones también, así como las de 64 bits, también deberían funcionar bien en eso, entonces, ¿cuál es nuestra fuente de datos? Nuestra fuente de datos es ese archivo de Excel en m5 que es la fuente y también vamos a decir propiedades extendidas, básicamente dijimos que sí nuestra base de datos incluye encabezados correctos, así que lo hemos hecho eso y luego soy X igual a cero, no es muy importante, pero solo se incluye, luego el registro dijo que está bien, así que ahora hemos conectado la base de datos que sabemos, pero qué registros podemos incluir, así que vamos a seleccionar de la hoja la hoja es cliente base de datos que es de la hoja, no hay un rango específico porque vamos a hacer toda la hoja, aunque también podría especificar un rango específico, aunque lo hemos mantenido bastante simple solo desde la hoja y luego vamos a configurar el conexión de objetos no los necesitamos, así que nos desharemos de ellos y esos son opcionales, pero para nuestros propósitos no los necesitamos y luego lo que vamos a hacer es decir que está bien con esto conjunto de registros quiero copiarlos voy a copiarlos y entonces vamos a decir hoja 2 a para copiar entonces vamos a tomar vamos a tomar vamos a un 2 aquí un 2 y nosotros vamos a copiar eso del conjunto de registros, así que todo lo que estamos haciendo es copiar los datos de nuestra base de datos a nuestro archivo principal aquí, así que lo estamos haciendo bien aquí de los registros, ya que todo lo que hace es copiar y luego vamos a cerrar las conexiones que queremos asegurarnos de cerrar las conexiones que son importantes y luego lo que vamos a hacer es actualizar los contactos de la tabla de contratos la tabla está bien, así que tenemos la información aquí, pero también la quiero aquí porque probablemente terminaremos ocultando esta hoja, pero la quiero aquí, la quiero aquí, así es como lo hacemos, así es como obtenemos toda la información tenemos que hacerlo así que eso es fácil así que cuando hacemos un comentario hacemos una hoja escribir nuevo contacto actualizar contacto toda la información se encontrará con esto y luego actualizará la base de datos y esto nos permite usar múltiples usuarios eso es todo pero solo esas dos macros simples así es como podemos crear un libro de trabajo compartido con cualquier tipo de archivo o cualquier tipo de carpeta y eso nos da una cantidad extrema. Debe agregar más protecciones aquí. Necesitará en su archivo que le gustaría si va a lanzar una aplicación que querrás Definitivamente querrá hacer protecciones protecciones en la hoja protecciones en la base de datos, así que le he dado la capacidad de hacer eso, pero si va a lanzar una aplicación, solo le dará mucha más seguridad. correcto porque, obviamente, los usuarios tal vez no puedan acceder a esto o no puedan eliminarlo, deberá proteger muchos formularios y archivos, usted calmó las columnas, por lo que las protecciones serán críticas, también querrá hacer eso, pero eso es básicamente lo que hemos pasado. cada macro busca carpeta, esta es solo una macro simple que nos permite extraer nuestro archivo en m5, por lo que he estado antes, eso es bastante básico y eso es otra cosa en el libro de trabajo abierto a la derecha, es posible que desee sincronizar como cada vez que se abra este libro de trabajo en su archivo , querrá sincronizar desde la base de datos, desea extraer cualquier dato nuevo que haya sido recientemente . He comentado esto, pero si tiene una aplicación en ejecución cuando abre el libro de trabajo, continúe y descomente esto para que Si está en su base de datos, se actualiza automáticamente tan pronto como abre el libro de trabajo, eso es algo importante, pero lo comentaré. No quiero que esto se ejecute cuando abra su archivo, así que no es... hay no es necesario que se ejecute cuando estás aprendiendo, pero eventualmente es algo que querrás hacer y eso es todo, esto es mi automóvil solo configura las pestañas esto es para tabular cuando el libro de trabajo está activado y solo en la hoja de contactos de esa manera no hay otra hoja de contexto y eso es todo, por lo que este es probablemente uno de los entrenamientos más poderosos. Si puede ver el poder de esto, puede diseñar libros de trabajo extremadamente profesionales extremadamente poderosos que rivalizan con cualquier software importante porque Ahora tiene las herramientas para usar una de las mayores limitaciones de Excel, pero ahora tiene el poder de crear aplicaciones masivas que los usuarios pueden compartir en todo el mundo con la misma hoja de trabajo y una base de datos vinculada . soy capaz de ver Lo único que pido es que compartas esta capacitación, ya sea que estés en YouTube o Facebook, compártela, dale me gusta y siempre agradezco tus comentarios a continuación y muchas gracias por unirte a nosotros hoy.