hola, esto es randy con excel para trabajadores independientes y bienvenidos a la clase magistral de mapeo de datos en esta capacitación exclusiva, lo guiaré paso a paso sobre cómo puede crear sus propios formularios en hojas y asignarlos a los datos que tenemos. voy a pasar por cada paso voy a comenzar con un libro de trabajo en blanco y voy a mostrarte cómo puedes crear tus propios formularios en hojas va a ser un entrenamiento increíble ideal para principiantes o intermedios vba no puedo esperar así que comencemos bien, muchas gracias por acompañarme hoy. Tengo un entrenamiento increíble. Vamos a comenzar con un nuevo libro de trabajo en blanco. Esto es lo que vamos a crear. Les mostraré cómo cree su propio administrador de productos, es solo un formulario básico, pero es una capacitación fantástica si es nuevo en vba o si desea revisar sus habilidades y mostrarle cómo podemos asignar estos campos a una base de datos aquí le mostraremos código muy muy simple paso a paso estamos comenzando desde cero un nuevo libro de trabajo puede seguir conmigo cada paso, incluso si nunca ha codificado en vba, este es el entrenamiento para usted porque voy a ir paso a paso en cada paso del proceso para aquellos de ustedes que tienen experiencia o son avanzados, todo lo que pido usted es si pudiera compartir esto con aquellos que son nuevos en vba o nuevos en excel o quieren crear sus propios formularios para que puedan crear su propio software, este es un gran comienzo, así que no puedo esperar si les gustan estos entrenamientos solo pregunto algunas cosas si puede seguir adelante y suscribirse , eso nos ayudará mucho y siga adelante y haga clic en el ícono de notificaciones a continuación que asegurará que reciba estos entrenamientos todos y cada uno de los martes. Se los traigo absolutamente gratis. si te gustan estos, todo lo que puedes hacer es simplemente descargar el libro de trabajo absolutamente gratis usando los enlaces en la descripción, pero si quieres un paquete completo de ellos, de hecho, hasta 175 de ellos, los tengo a la venta por solo 66, eso es solo 37 centavos por libro de trabajo y eso nos ayudará Mucho, incluiré los enlaces a continuación, todo sobre ese libro de trabajo 175 que nos ayudará mucho que viene con la biblioteca completa en el interior para que pueda hacer clic con un solo clic para llegar a cualquier libro de trabajo o hacer clic con un solo clic para llegar a la capacitación. un trato realmente fantástico espero que lo entiendas bien comencemos como se mencionó antes vamos a crear esto desde cero voy a crear este gerente de producto y le mostraremos cómo crear este producto lista y cómo actualizar agregar nuevo guardar y actualizar para que podamos agregar y podamos cargar información podremos agregar imágenes voy a mostrarle cómo centrar esas imágenes, incluso si es una imagen vertical o si es una imagen horizontal como aquí, les mostraré cómo hacer eso en el entrenamiento, así que hagámoslo, cerremos esto , no vamos a usar esto bien, así que aquí está aquí está nuestro libro de trabajo en blanco qué es lo primero que queremos hacer cuando tenemos un bl ank workbook es que queremos guardarlo ahora vamos a archivar y guardar como si fuera nuevo en vba quiere asegurarse de que lo hará si va a escribir cualquier código que desee guárdelo como un xlsm mn siendo las macros o xlsb ambos están habilitados para macros, generalmente usamos el libro de trabajo habilitado para macros de Excel si intenta guardarlo como un xls, por supuesto, no podrá guardar esas macros en él eso es ha sido una actualización desde 2007, así que asegúrese de que xlsm le dé un nombre de producto y seguiremos adelante y le daremos una ubicación aquí . Ya tengo una ubicación guardada aquí en la clase maestra de mapeo de datos. voy a darle un nombre, excepto que no es el nombre de la muestra que es el que acaba de ver, así que le daré un nombre de clase de coincidencia de asignación de datos, asegúrese de que tenga xlsm, vamos a configurar guardar, eso lo guardará ahora cuando lo guardamos, guardará esas macros, está bien, eso es muy, muy importante , todos hemos cometido ese error antes, así que no se sienta mal si lo guarda accidentalmente. y como un xlsx y las macros se han ido, eso va a pasar, está bien, así que comencemos bien, lo primero que quiero hacer es dejar esto aquí abajo, eso asegurará que lo tengamos si quieres moverlo hacia arriba puedo hacerlo, pero para nuestros propósitos vamos a usar mucho esta barra de herramientas, así que queremos que se despliegue y está bien, también quiero darle un diseño especial, queremos asegurarnos de que hagamos clic en el diseño de la página y luego estoy voy a seleccionar colores, tenemos varias plantillas de color, voy a usar una llamada flujo, lo siento, está un poco fuera de la pantalla, pero lo llamaré flujo y lo que quiero hacer es reservar el Las primeras dos columnas generalmente estarán ocultas, así que lo que voy a hacer es colorearlas y luego, cuando inicie estos libros de trabajo, lo que puede hacer es ocultarlos, así que vamos a colorearlos. en gris y luego, eventualmente, lo que desea hacer cuando esté listo para trabajar, pero simplemente hace clic con el botón derecho y oculta esas columnas, ¿ de acuerdo? dentro de estos, crearé solo algunos campos que usaremos para nuestros fines administrativos, esas son cosas que los usuarios no verán porque esas columnas estarán ocultas y también quiero crear un título y luego un subtítulo, por lo que para el título vamos a llamar a este gerente de producto para que pueda poner su título allí gerente de producto, está bien, todo en mayúsculas y luego le daré una fuente específica y luego un tamaño de fuente, por lo que este probablemente irá como digamos algo grande como una fuente 30 y luego usaré un embudo en algún lugar más agradable la fuente simplemente iré con una arial redondeada me gusta esta aquí arial redondeada vacía en negrita vale esta en particular también le estoy dando un subtítulo porque también se llama realmente una clase maestra de mapeo de datos, así que quiero asegurarme de poner eso en la clase maestra de mapeo de datos y si escribo mal las cosas, lo verán, pero está bien, ahí vamos, hay uno para usted, está bien maestro de mapeo de datos clase que dice que lo envolveré entre paréntesis y luego me iré ng para también hacer ese más grande para que podamos verlo, entonces le daré esto, digamos 25, casi eso se ve bien, ponlo en cursiva ahora, lo que me gustaría hacer es darle un poco de desvanecimiento. efecto que quiero cruzar, así que lo que voy a hacer es resaltar todo el camino hasta aquí y voy a hacer clic con el botón derecho y voy a formatear esas celdas y quiero darle un buen efecto de desvanecimiento, así que aparecerá esa paleta de colores aquí, así que vamos a entrar en el relleno y luego quiero entrar en los efectos de relleno y quiero darle un efecto de desvanecimiento, así que voy a elegir dos colores diferentes, voy a usar este tema aquí, este azul, así que voy a comenzar con este verde azulado oscuro aquí y voy a entrar en este verde azulado aquí, este es el que se llama, supongo lo llamaremos un verde azulado medio, por lo que será tan oscuro para el medio que usará horizontal, lo que significa que el más oscuro está en la parte superior más clara. Voy a hacer clic en Aceptar y luego en Aceptar. más tiempo y voy a hacer lo mismo pero usando un color diferente aquí, así que voy a hacer clic con el botón derecho voy a resaltar esas celdas esto está en la línea dos formatear esas celdas otra vez voy a darle un efecto de relleno, pero es ligeramente diferente, queremos que se mezcle , por lo que vamos a comenzar con ese verde azulado medio que usamos la última vez, ese nivel de verde azulado oscuro más claro 60 y luego vamos a ir al más claro que está aquí el 80 por ciento más claro , luego voy a hacer clic nuevamente en ese clic horizontal, está bien y está bien, está bien, ese es el efecto agradable, así que te da ese efecto agradable, el resto le voy a dar un color básico y puedo hacerlo desde aquí, así que voy a resaltar todas las celdas en las que voy a entrar aquí y luego voy a darle ese verde azulado principal que es 80 que nos da este agradable efecto de desvanecimiento, está bien, ahora lo que quiero hacer es quiero fusionar y centrar esto, quiero que este en particular esté completamente centrado, así que voy a lo que voy a hacer es resaltar todo esto porque quiero una emergencia y voy a hacer clic en fusionar y centrar. Voy a hacer lo mismo con la asignación de datos hasta fusionar y centrar, está bien, así que ahora tengo mi encabezado, se ve bonito. bien, ahora la idea es lo que quiere hacer es comenzar su formulario aquí mismo. Me gusta dejar la columna c abierta y eso nos deja la capacidad de centrarla . Voy a poner un menú como aquí o algo. Podrías tener mucho espacio aquí . Te da esa flexibilidad, así que nunca uso esa primera columna. Estas dos columnas estarán ocultas . Entonces, ¿qué es lo que realmente quiero en este administrador de productos en particular? lo que quiero hacer es poder seleccionar de un derecho de datos específico. Quiero poder hacer que el usuario seleccione una celda específica, así que comencemos en e, digamos 5 correcto e5, esa será la selección, así que digamos. en d, lo que haré es poner algo como seleccionar seleccionar y luego producto para que el usuario seleccione ct el producto dentro de este bien, ese será el formulario para que seleccionen una lista desplegable del producto una vez que seleccionen ese producto, todos esos detalles del producto se cargarán aquí, está bien, así que el siguiente una vez que tengamos el producto que quiero para poner el nombre del producto así que voy a poner el nombre del producto aquí y luego aquí abajo voy a poner la compra también quiero un precio de compra del producto así que el precio de compra aquí abajo y luego uno más abajo pondremos el proveedor preferido si hay un proveedor específico al que le compra ese producto, está bien, tenemos esos campos, pero quiero algunos campos más, así que lo que voy a hacer es este es el campo donde los datos van a estar aquí aquí y aquí, así que voy a omitir uno , será como una columna espaciadora, luego pondré algunos campos más aquí en este campo, quiero poner un campo no editable y quiero que se muestre la identificación del producto, así que estamos voy a poner la identificación del producto y ahora voy a darla, luego lo que quiero tener es el tipo que tal vez queremos t un tipo de producto, entonces también quiero el precio de venta, tenemos el precio de compra, por cuánto lo estamos comprando y también cuál es el precio de venta y luego, quizás, la cantidad de pedido, cuántos, cuál es el número mínimo de pedidos hasta que queremos volver a pedirlo Entonces , si tenemos 10 en stock, pedimos la cantidad y luego nuestra cantidad de reorden es, digamos 11, sabemos que es hora de hacer el pedido y aquí también quiero mostrar una imagen aquí, así que creo que es importante, también quiero saber la cantidad en mano , así que hagamos esa cantidad a mano y luego aquí arriba voy a mostrar una imagen, así que voy a dejar algo de espacio aquí porque quiero poner esa imagen allí, así que lo que voy a hacer ahora es voy a mantener presionado el control y voy a comenzar a seleccionar todo esto para poder cambiar todos estos campos en consecuencia, todos están bien, así que todos estos campos, así que voy a hacer clic con el botón derecho en función de que voy a formatear esas celdas y voy a usar el mismo verde azulado pero este voy a usar un da rker este aquí en realidad no es el relleno, así que cancelemos eso, voy a mantener el relleno con el mismo formato que esas celdas y, de hecho, voy a ir al borde, así que este es el borde, en realidad quiero darle eso mismo color y voy a usar esta línea, voy a hacer un bucle completo, pero en el lado derecho quiero que sea una línea punteada como esta, está bien, perfecto y también quiero alinear, quiero justificar a la derecha aquellos que podríamos hacer eso bien justificar justo en deuda eso es bueno podríamos hacer eso y hacer clic en ok eso es bueno ahora lo que quiero hacer es ahora quiero quiero el desbordamiento, así que voy a hacer doble clic en esto y eso va al espacio en consecuencia, voy a hacer lo mismo aquí, haga doble clic en el espacio, en consecuencia, ahora quiero centrarme en el campo, así que voy a mantener presionado el control nuevamente, seleccionando todos los campos, no la identificación del producto, que será ligeramente diferente y luego el precio de venta la cantidad de pedido y la cantidad disponible esta vez lo que voy a hacer yo Si les voy a dar el color blanco, está bien, blanco. Voy a hacer clic con el botón derecho aquí, ir a las celdas de formato y luego asignarles el mismo color de borde que hice la última vez, pero esta vez ya tengo la línea punteada. solo voy a colorear la parte superior, la derecha y los bordes inferiores, está bien, ahora lo que quiero hacer de nuevo, mantengamos presionado el control, quería colorear el fondo de blanco, queremos asegurarnos de que le informamos al usuario que puede llenar esos en vamos a hacer eso ahora blanco ese es el que quiero bien así que ahora tenemos esto vamos a hacer doble clic en esto muy bien así que la identificación del producto es un poco diferente porque no es editable así que no quiero hacer es blanco, pero quiero poner los bordes alrededor aquí, está bien, así que la identificación del producto irá aquí, podemos expandir esto aquí, tenemos la habitación y también podemos expandir esto aquí, está bien, entonces cuál es la idea. vamos a hacer es que seremos simplemente los botones. Voy a poner algunos botones aquí arriba, así que dejo espacio para aquellos que quiero lista desplegable aquí quiero seleccionar el producto entonces quiero que una vez que se seleccione el producto quiero que la información se llene aquí bien bien así que me gusta sigamos adelante y guardemos nuestro trabajo y ahora desarrollemos algo botones, por lo que lo primero que queremos hacer es traer todos nuestros botones, luego vamos a traer los íconos en consecuencia, así que sigamos adelante e insertemos, voy a insertar una forma, se basará en una forma cuadrada, así que yo voy a usar esta forma cuadrada aquí esta forma de rectángulo voy a crear un botón primero y luego una vez que lo creo y lo obtengo tal como me gusta voy a seguir adelante y crear los otros así que este vamos a llamar a este agregar producto bien, así que queremos un botón que ese botón va a enumerar cuando hacemos clic en él va a borrar todos los campos y de hecho agregar un producto, entonces lo que voy a hacer es ir a la inicio voy a justificarlo a la derecha y lo voy a centrar voy a aumentar un poco la fuente estoy voy a ponerlo en negrita eso es bueno esa es la forma que quiero quiero un poco más grande porque quiero poner el ícono ahora quiero darle una mejor apariencia algo un poco más con nuestro tema este se ve bien cualquiera de los dos estos se verían bien, vamos con el azul más oscuro, me gusta este , está bien, agregue el producto, lo tengo, pero también necesito botones para guardar o actualizar el producto, eliminar el producto y agregar una imagen, así que lo que vamos a hacer es voy a hacer clic en eso voy a hacer clic en control d control d uno para guardar la actualización, uno para eliminar el producto y otro para agregar la imagen, está bien, agregar la imagen irá aquí, así que voy a poner eso aquí entonces voy a poner la eliminación voy a poner eso aquí y luego voy a poner la actualización de uh saver aquí mismo trae esto aquí ahora lo que voy a hacer es que voy a usar mi herramienta de selección ahora esta herramienta de selección es realmente genial tengo esta barra de herramientas aquí que me ayuda con los elementos frecuentes que uso y t Las macros y las cosas que uso las pongo aquí. Esto se llama la barra de herramientas de acceso rápido. Si desea agregar elementos aquí, todo lo que necesita hacer es hacer clic en más comandos aquí y luego simplemente hacer clic en todos los comandos y lo que desee. encuentre aquí lo que quiera, simplemente búsquelo aquí, como la herramienta de selección, ya sabe, si quiero encontrar la selección también, haré s y luego haga clic en la herramienta de selección, encontrará lo que está buscando , sea lo que sea, aquí y luego. todo lo que hace es hacer clic en algo y luego hacer clic en agregar y lo agregará a su lista de acceso rápido, puede moverlos hacia arriba y hacia abajo en consecuencia usando estas flechas , eso es todo, así que puede obtener cualquier cosa, así que puse la herramienta de selección esta selección La herramienta me permite hacer clic y seleccionar todos los botones aquí para que pueda asegurarme de que estén alineados nuevamente, en este caso verticalmente o en el medio, para poder alinearlos ahora que están todos alineados en el medio. ahora lo que quiero hacer es seleccionar estos dos y quiero alinéelos horizontalmente, así que voy a hacer clic en alinear y quiero distribuirlos horizontalmente para que estén todos en el medio, está bien, me gusta, por supuesto, no todos se llaman agregar producto, así que voy a deshacer el herramienta de selección, a esta la llamaremos guardar o actualizar, así que voy a cambiar el nombre, la llamaré guardar y luego actualizar, eso nos permitirá hacer dos cosas, guardar y actualizar nuestros productos. uno lo llamaremos eliminar producto, así que simplemente escribiré eliminar y luego abreviaré producto perfecto, así que tengo eso, ahora tengo botones, lo que quiero hacer es agregar algunos íconos esos botones así que otra vez guardando nuestro trabajo lo que voy a hacer es insertar imágenes y voy a buscar esa carpeta tengo algunas imágenes aquí subamos a una carpeta creo que es correcto sobre aquí aquí clase magistral de mapeo de datos aquí tengo algunas fotos aquí así que sigamos adelante y pongamos algunas fotos tengo algunas tengo que poner esta s va a ser nuestro ícono, así que lo agregaremos aquí y tengo algunas imágenes aquí, así que eso es bueno, se ve bien ahora, sigamos adelante y coloquemos los íconos ahora que tienen las imágenes, así que nuevamente estoy voy a insertar imágenes y tengo algunas imágenes aquí , veamos aquí, tengo un montón de íconos, así que lo que quiero hacer quiero usar el ícono Agregar, eso es importante, así que voy a mantener presionado Quiero para ingresar varios, de acuerdo, quiero usar el guardado, así que voy a usar este cheque, voy a hacer clic en eso manteniendo presionado el control para poder poner varios y también quiero eliminar, ahora puedo usar el agregar para 2. puedo usar agregar para agregar imagen y agregar producto para que plus green plus vaya a usar multipropósito voy a hacer clic en insertar ahora por supuesto van a ser mucho más grandes no los quiero así de grande, así que voy a dimensionarlos, voy a decir, pongámoslos alrededor de 0,24, algo así, eso se ve bien, está bien, así que ahora los he dimensionado en consecuencia, ahora voy a este. ng para ponerlo justo encima de eliminar este. Voy a duplicar el control d que va a hacer porque lo voy a usar para agregar el producto aquí y lo usaré para agregar la imagen agregar el producto de la imagen aquí. y agregue imágenes para que esto se cambie a imagen, así que agregue una imagen, está bien porque queremos agregar una imagen del producto y luego esta la usaré para guardar y actualizar, está bien, me gusta así. es otra vez, voy a usar mi herramienta de selección para asegurarme de que todo esté seleccionado . Voy a hacer clic en esa selección aquí vamos a mover eso y luego voy a alinear todo perfectamente, está bien, ya se veía bastante bien, así que ahora moveré esto de regreso a donde pertenece ahora tengo los botones ahora tengo voy a aumentar este está un poco apretado así que voy a aumentar esto un poco y lo mismo para este un poco un poco más grande está bien cuando agregas tus botones primero y tu icono en segundo lugar todo estará en la parte superior Bien , queremos estos íconos en la parte superior, pero si por alguna razón están en la parte inferior, podemos moverlos a la derecha . tengo mis cuentas, lo que quiero hacer es agruparlas, así que mantendré presionado el control manteniendo presionado el control nuevamente haciendo clic en ambos y usaré mi acceso rápido al grupo si quiero esos grupos y voy a repetir el proceso para los cuatro grupos de botones nuevamente haciendo clic aquí sosteniendo ahora la agrupación de control y haciendo lo mismo aquí de esta manera puedo asignar una sola macro al grupo, así que ahora tengo todos los botones perfectos así es como quiero otra vez voy a guardarlo de nuevo y ahora lo que queremos hacer es que estamos casi listos para ir así que lo que quiero hacer es quiero la información aquí pero quiero más información aquí quiero saber exactamente cuál es la idea vamos a darle a esta hoja el nombre que vamos a llamar th son productos y también quiero una lista, así que sigamos adelante y llamemos a esta lista de productos y lo que quiero hacer es almacenar todos los datos del producto aquí para que toda la información se almacene aquí y luego lo que quiero hacer es cuando selecciono un producto aquí , quiero que esa información se muestre aquí, incluida la imagen aquí, y también me gustaría un borde agradable alrededor de la imagen, así que ¿por qué no ponemos un borde? Voy a formatear esas celdas. haciendo clic con el botón derecho aquí de nuevo con nuestro mismo color aquí y solo voy a poner un contorno por aquí vamos ahora tenemos un bonito borde por aquí para que nuestra imagen pueda ir dentro de eso muy bien así que quiero algo de información aquí algo de información que es va a estar oculto qué quiero saber quiero saber si estamos actualizando el producto o no ahora voy a explicar esto un poco más tarde pero quiero que esto sea una actualización de producto verdadera o falsa y luego lo llamaremos falso. Esto será verdadero o falso. También quiero saber el producto. fila fila de productos basada en el nombre bien cuando selecciono un producto específico de una lista desplegable necesito saber qué fila es en esta base de datos esto se llamará la lista de productos bien vamos a tener todos los campos y les mostraré exactamente cómo lo hacemos y configuraremos esa lista y luego, pero quiero saber la fila en función de este nombre, también quiero saber en función de la identificación, por lo que se basará en diferentes ideas diferentes, diferentes variables, pero devolverá la misma fila y les mostraré por qué eso es importante, así que nuevamente la fila del producto basada en la identificación también está bien, les mostraré por qué eso es importante, entrará en juego pero dejemos eso ahí de vez en cuando también quiero saber la próxima identificación del producto, nuestras identificaciones de productos se incrementarán en uno, pero necesito saber la siguiente, así que lo que voy a hacer es colorear. todos estos diferentes solo para que podamos ver un buen color diferente aquí y luego voy a poner bordes alrededor de ellos, eso es todo lo que vamos a hacer necesitar este formulario va a ser muy simple y va a ser genial, así que tenemos que ahora lo que quiero hacer es trabajar solo para construir esta lista un poco quiero mostrar esta lista y ver cómo podemos hacer eso y vamos a usar un mapeo de datos, pero ¿cómo sabemos lo que quiero hacer? Quiero toda esta información aquí y también quiero otra. Quiero saber que cuando agregamos un imagen necesito saber la ruta del archivo de esa imagen justo cuando insertamos una imagen y voy a insertar digamos que tenemos una de estas imágenes necesito saber la ruta completa de esa imagen sea algo como esto correcto quiero saber que tengo que guardar la ruta completa de la imagen y tengo que guardarla dentro de la base de datos tengo que ponerla en algún lugar por aquí probablemente por aquí en l11 pero también necesito guardar eso cuando muestro esa imagen, sabe dónde buscarla en mi computadora, así que eso es muy importante, así que necesito guardar eso también, así que vamos a guardar un Todos estos campos y algo llamado ruta de archivo está bien, así que hagámoslo ahora, avancemos y construyamos nuestra base de datos, lo que se conoce como una lista o una base de datos, y almacenará toda esa información, pero no necesariamente sé lo que estamos voy a poner, así que lo que voy a hacer es tomar esta forma pequeña y agradable que tenemos, voy a hacer una captura de pantalla, uso un software llamado snagit editor y hace un gran trabajo, así que estamos voy a tomar una captura de pantalla y todo lo que voy a hacer es asegurarme de incluir las filas y las columnas así que aquí voy a incluir las filas y las columnas que es muy importante que quiero mostrar eso y luego lo que voy a hacer es simplemente dejarlo ir va a ir a mi pantalla y voy a ir a mi software voy a copiar esa captura de pantalla que acabo de hacer voy a volver a la lista de productos y voy a pegarlo temporalmente dentro de esta lista y esto solo nos ayudará a guiarnos, está bien, nos dará una pequeña guía agradable para que sepamos exactamente qué campos ir a dónde y luego podemos eliminarlo una vez que no lo necesitemos bien, lo primero en la fila 3 voy a poner un mapeo de datos aquí voy a explicar que este es el nombre de nuestra lista y estos son los encabezados aquí, por lo que los encabezados van a ir aquí, así que lo primero que quiero hacer es quiero una identificación del producto, está bien, la identificación del producto quiero que eso sea muy importante y luego el siguiente algo que se requerirá único para cada producto individual, tendremos una identificación de producto diferente, el próximo quiero el nombre del producto, está bien, nombre del producto, veamos, podemos, no necesitamos abreviar eso porque entonces será un campo más largo. por supuesto que quiero el tipo y voy a ir básicamente voy a ir aquí así que esto nos ayuda a determinar entonces quiero el tipo y luego quiero el precio de compra los nombres no tienen que ser exactamente iguales correcto eso no es tan importante, así que puede abreviar aquí y luego, por supuesto, quiero el precio de venta, entonces nosotros tengo el preferido, simplemente pondremos el proveedor aquí, luego la cantidad de pedido, luego tenemos la cantidad a mano y, por último, es la ruta del archivo que necesitamos, llamaremos a esta ruta de la imagen, necesito saber la ruta donde se almacenó esa imagen, está bien, genial ahora lo que vamos a hacer es resaltarlos. Voy a hacer doble clic en una columna y los ajustará en consecuencia. Ahora que los tengo, los voy a centrar, de hecho. Solo centraré todo eso aquí, moviéndolo en el medio, está bien, centro justificado, ahora lo que quiero hacer es también quiero saber la celda en la que están almacenados, por ejemplo, si ve que tenemos el nombre del producto, se encuentra el nombre del producto. en e7, ¿ves que aquí el tipo de producto se encuentra en h7? El precio de compra aquí se encuentra en e9, por lo que realmente nos ayudará porque sabemos exactamente dónde se almacena todo, así que lo que quiero hacer es colocar esas celdas. y voy a explicar un poco por qué más tarde, pero básicamente estamos mapeando el d ata, esto es parte del mapeo de datos, por lo que la identificación del producto era la que está ubicada en h5, así que voy a poner h5 aquí, está bien, entonces el siguiente nombre del producto está ubicado en e7, podemos verlo en nuestra captura de pantalla e7, así que voy para poner en e7, el siguiente es type type, por supuesto, se encuentra en h7, así que hacemos esto para cada uno de los datos, ahora la razón por la que hacemos esto es porque ahorra toneladas y toneladas de codificación y les explicaré cuando estemos haciendo la codificación, cómo es esa diferencia y cómo es tan importante, esto nos ayudará porque básicamente vamos a escribir tres líneas de código independientemente de la cantidad de datos que tengamos en nuestra tabla; de lo contrario, otra forma de hacerlo. podríamos, si tuviéramos cien columnas, tendríamos que escribir cien filas de una línea, esto lo limitará a solo tres filas, por lo que es una excelente manera, así que el precio de compra será nueve y, por supuesto, esto el precio de venta va a ser h9 y luego pasamos a la fila 11. entonces e11 es nuestro proveedor mientras que la cantidad de pedido es h1 1 luego tenemos la cantidad a mano que será k11 y por último tenemos nuestra ruta de imagen k11 no k1 k11 luego tenemos la ruta de imagen ubicada en l11 l11 ahora la ruta de imagen que se puede ocultar bien nadie necesita ver que podemos cambiar la fuente, pero solo vamos a ponerla allí l11 genial, así que tenemos nuestro mapeo de datos, esto se llama mapeo de datos, hemos mapeado cada campo dentro de nuestro formulario con la columna asociada dentro de nuestra lista, así que vamos a darle un color distinto, tal vez en este gris, generalmente podemos ocultarlo, luego voy a fusionar y centrar esta lista de productos, fusionar y centrar, y solo le daré un poco de color, algo diferente aquí, tal vez este azul aquí y luego haré lo mismo pero solo un azul más claro aquí que se ve bien pero no necesariamente importante , luego solo pondré algunos bordes alrededor para que podamos verlo claramente, ya hemos terminado con eso, ¿de acuerdo? entonces entendemos los datos ahora lo que quiero hacer para que entendamos e Exactamente por qué hemos mapeado los datos, estamos bien, ya no necesitamos esto, hemos terminado con esto, pero lo dejaré aquí solo por el momento, entonces lo que quiero hacer es crear algo dinámico . rangos nombrados para el nombre del producto y para la identificación del producto, por ejemplo, la identificación del producto tendrá uno, dos, tres y aquí, por así decirlo, y luego podríamos tener el nombre del producto, veamos manzanas, naranjas y digamos plátanos, así que lo tenemos así Tengo el nombre, así que lo que quiero hacer es crear un rango dinámico con nombre para que, a medida que crezcan nuestros nombres, también crezcan nuestros datos, hasta nuestro nombre, entonces, ¿cómo lo hacemos bien? los rangos con nombre, así que lo que voy a hacer, solo voy a resaltar esto, nos da una identificación de nombre, así que voy a ingresar al administrador de nombres de fórmulas y voy a crear un nuevo clic en nuevo, está bien, tengo el nombre, nos está dando el nombre predeterminado, solo voy a excluir el período allí, así que lo llamaré identificación del producto y luego lo que quiero hacer en lugar de solo estas tres líneas lo que quiero hacer es crear algo dinámico para que a medida que crezcan los identificadores de nuestros productos, también lo haga nuestro rango con nombre para que abarque todos los identificadores o todos los nombres sea largo pero nada adicional, así que eso es lo que queremos así que vamos a hacer eso para crear algo dinámico, vamos a usar la fórmula de compensación, por lo que se compensará, ¿dónde vamos a comenzar en este? Quiero comenzar con la fila del encabezado. ¿Por qué queremos comenzar? la fila del encabezado quiero comenzar con la fila del encabezado porque podría causar un error cuando no hay datos, pero si comenzamos con la fila del encabezado, la fila del encabezado siempre tiene datos, no va a causar un error, pero la cosa es que no lo hacemos queremos incluir la fila del encabezado, queremos incluir solo los datos, así que la mejor manera de hacerlo es comenzar con una fila debajo, así que vamos a hacer una coma una fila debajo, sin columnas debajo, así que vamos a hacer una coma y luego qué lo que quiero hacer es quiero saber cuántos entonces vamos a usar contar un lo que va a hacer va a cuente cuántos necesitamos contar , así que ampliemos esto un poco aquí y lo que queremos hacer es nuevamente, quiero usar el recuento de encabezado, quiero hacerlo hasta el final, pero vamos a hacer una fila grande, así que tal vez voy a hacer mucho más que los datos limitados, así que haremos 9999, por lo que básicamente contará todos los campos en ese rango que contienen texto, excepto que estamos incluyendo el encabezado que no queremos estamos incluyendo el encabezado a propósito, pero no queremos contar el encabezado, entonces, ¿cómo no contamos eso o bueno, restamos 1? Entonces, menos uno, restamos una coma y luego solo una sola columna, una es una sola columna. vamos a usar la tecla de tabulación vamos a salir de ella vamos a usar la pestaña de cambio vamos a mover la pestaña de nuevo vamos a mirar estas hormigas bailarinas nos aseguraremos de que abarquen todo de los datos y funcionan bien, así es como quiero hacerlo ahora, lo que voy a hacer es que tengo esto, quiero crear otro muy similar, entonces, ¿qué hago? Lo que voy a hacer es usar el control c. Voy a copiar esta fórmula. Voy a hacer clic en Aceptar. Voy a crear una más. Quiero una para el nombre del producto, así que voy a hacer clic. nuevo, este se llamará no producto.producto y luego el nombre está bien, voy a tabulador tabulador tabulador nuevamente control v voy a pegar todo allí ahora todo lo que tengo que hacer es cambiar una cosa el conteo nosotros lo basaré en el conteo, por lo que el conteo puede ser el mismo, puede basarse en la identificación del producto porque se requiere esa identificación del producto, pero ¿qué quiero hacer? Quiero basarlo en una columna diferente, así que voy para cambiar este a b columna b es donde se encuentran los nombres de nuestros productos Voy a mover la pestaña hacia afuera y voy a revisar y asegurarme de que esas hormigas danzantes estén alrededor de los nombres de los productos y viene eso es perfecto eso es exactamente lo que voy a hacer clic en ok y luego clic tenemos nuestros dos rangos con nombre aquí y luego haga clic en cerrar perfecto eso es todo lo que tenemos que hacer soy g vamos a guardar nuestro trabajo, está bien, estamos bien en esto, no necesitamos este mapeo de datos, puedo eliminar esa forma, hemos hecho su trabajo, así que estamos listos, voy a volver a los productos aquí. ahora lo tenemos, así que ahora lo que queremos hacer es querer seleccionar un producto, pero qué producto acabamos de crear un rango con nombre para que podamos usar la lista desplegable de validación de datos para eso. Voy a entrar en datos nuevamente validación de datos aquí i voy a hacer clic en él y voy a hacer clic en una lista que quiero listar y cuál es esa lista va a ser el nombre que acabamos de crear si quieres saberlo puedes usar f3 para encontrarlo pero si sé que el nombre del producto f3 es lo que hicimos, haga clic en ok, eso es exactamente el nombre del producto, haga clic en ok nuevamente y ahora tenemos una lista desplegable perfecta, eso es lo que queremos, manzanas, naranjas, perfecto, así que cuando hago clic en eso, quiero cargar toda la información aquí, así que completemos algo de esto ahora quiero saber la fila de productos basada en el nombre correcto cuál es nuestra fila de productos quiero la fila en la que crece nuestro producto las manzanas son cuatro, nuestras naranjas son cinco, está bien, entonces, ¿cómo obtenemos esa fila? Podemos usar la fórmula de coincidencia, así que primero vamos a envolverlo si el aire en caso de que haya algún problema es igual a si el aire es correcto y luego cuando quiero usar el matemática así que coincida y lo que estoy buscando estoy buscando manzanas y qué rango con nombre voy a perder voy a usar el nombre del producto correctamente porque ese es el nombre que creamos voy a buscarlo y yo quiero una coincidencia exacta, así que voy a usar cero, está bien, y luego qué vamos a hacer si hay un error, voy a poner comillas dobles , así que lo quiero vacío si hay un error, está bien, ¿qué devuelve eso? uno, ¿por qué devuelve uno? Bueno, devuelve uno porque es el primero que se encuentra, pero como puede ver, no quiero uno, quiero cuatro, entonces, ¿cómo sabemos por qué es porque nuestro primer valor comienza en la fila cuatro, así que todo lo que necesito? lo que hay que hacer es tomar esto, venir aquí y agregar tres perfectos ahora, si se elimina el nombre, si hay un error , no se encuentra, se quedará en blanco, eso es exactamente lo que Quiero que de esa manera las naranjas estén en cinco y luego las bananas estén en seis perfecto, está bien, pero también quiero la fila y voy a justificar esto a la izquierda para que podamos ver que está asociado con el nombre y luego también con lo que quiero. lo que quiero es una fila de producto igual, pero me basaré en la identificación del producto, de modo que cuando esta identificación cambie de producto, hago uno, dos o tres, también quiero una fila basada en esta idea, quiero ambas, está bien , eso es muy importante, así que de nuevo voy a usar un formulario muy similar, así que voy a copiar esto , lo voy a pegar aquí para que podamos ver la fórmula o puedo volver a escribirlo , es más fácil para que pueda verlo en igualdad si el aire y luego este caso nuevamente, también usaremos la fórmula de coincidencia, pero vamos a buscar en este caso, estamos buscando la identificación del producto y estamos usando un nombre el rango de identificación del producto llamado que es el que estamos usando coma 0 quiero una coincidencia exacta si hay un error quiero mostrar comillas dobles en blanco o vacías en ese perfecto así que ahora si estamos usando el producto uno aquí solo quiero mostrar uno de nuevo, no queremos mostrar uno, queremos mostrar la fila, así que nuevamente debemos agregar tres más tres perfectos para que ambos sean de esa manera cuando tengamos la idea. es cuando seleccionamos aquí todo se va a cargar, incluida la identificación del producto, también lo que quiero hacer es la siguiente identificación del producto si notamos que tenemos uno, dos, tres, entonces , ¿cuál sería el próximo, siempre que las necesidades de nuestro producto sean numéricas, lo que significa que son números , podemos diseñar el siguiente usando el formulario de coincidencia en este caso, el mex sería cuatro, entonces, ¿qué es eso para que la próxima identificación del producto sea nuevamente? Quiero envolverlo si el aire es igual al aire y luego voy a use la forma máxima el máximo de qué máx. de todas las identificaciones de productos identificaciones de productos está bien, así que no quiero solo el máximo máximo de tres, pero lo que quiero es el siguiente, entonces, ¿cuál es el próximo? Este podría ser el máximo más uno ¿y si hay un error bueno, ¿por qué habría un error? habría un error si no hay ninguna fecha si no tenemos datos t Entonces habría un error, así que no quiero un error, entonces, ¿qué quiero si no hay ningún dato? Bueno, quiero la siguiente identificación de producto disponible, en este caso, convirtámosla en una, está bien, coma uno, así que aquí tenemos. cuatro de nuevo, la siguiente identificación del producto es cuatro, correcto, si agregamos otro aquí, digamos cuatro, y obtendremos el resultado como cinco, correcto, ese es el único, ¿y si no hay datos? Si no hay datos en absoluto, quiero que sea volver a uno perfecto eso es exactamente lo que quiero está bien bien entonces tenemos todo bien excelente estamos casi listos para escribir un código ahora así que tenemos todo completado entendemos la siguiente identificación del producto tenemos la fila del producto según la identificación, tenemos la fila del producto según el nombre y tenemos una actualización del producto que explicaré genial, así que vamos a guardar nuestro trabajo, pero también me gustaría agregar imágenes, así que pongamos algunas información, aclaremos esto bien, no necesitamos ese derecho y lo que quiero hacer es ponerlo, solo s ay, manzanas verdes , ingrese algunos datos aquí, manzanas verdes y luego ingresemos un tipo de solo llame a esta fruta y luego compre el precio, ingresemos y el precio de venta de 1.5 y, eh, guardemos las granjas fretters como nuestra granja de la que compramos y el considerado la cantidad es 10 y la cantidad en hab vamos a ponerlo como 15. está bien, muy bien, pero lo que quiero hacer ahora es poder agregar una imagen, así que voy a guardar ese trabajo y también quiero usar estos quiero ponerlos como moneda, así que mantendré presionado el control y luego pondré estos dos como moneda, está bien, eso es exactamente lo que quiero, así que ahora estamos listos, voy a justificar esto a la izquierda y eso se ve bastante bien de la forma en que está bien, me gusta, así que lo que quiero hacer es escribir una macro y esa macro vamos a agregar esa imagen aquí para que podamos escribir dos macros, una macro es va a agregar la imagen, va a colocar la ruta del archivo aquí de lo que sea que sea esa imagen y luego la segunda macro va a mostrar esa imagen, así que, ¿cómo lo hacemos? Preparémonos para escribir esa macro, por lo que la mejor manera de hacerlo es en el editor vba y podemos usar nuestra pestaña de desarrolladores aquí si no tiene una pestaña de desarrolladores. lo que debe hacer es hacer clic en las opciones de archivo aquí y luego en la cinta de personalización y solo asegúrese de haber seleccionado el desarrollador seleccione o anule la selección seleccione ese aquí que lo llevará dentro de los desarrolladores desde allí puede hacer clic en el básico visual si quieres usar un atajo puedes usar alt f11 alt f11 te llevará allí y esto nos llevará al editor de vba aquí está nuestro editor de vba está bien , entonces podemos escribir macros aquí tenemos macros que irían en la hoja y podemos crear módulos, así que vamos a hacer eso primero, lo que quiero hacer en esta capacitación, lo que me gustaría hacer es cambiar el nombre de la hoja 1 para que quede claro, así que llamaré a la hoja 1 para cambiarle el nombre vamos a hacer clic en estas pequeñas propiedades aquí ver esta ventana de propiedades f4 es el atajo allí propiedades, así que lo que voy a hacer es nombrar y voy a llamar a estos productos también productos, de acuerdo, de esa manera no usaremos no trabajaremos con sheet1 estoy voy a hacer lo mismo para la hoja2 voy a hacer doble clic en la hoja2 hoja2 aquí también voy a cambiar el nombre aquí voy a llamar a este producto y luego listar bien y nos dará una pequeña abreviatura hacer seguro que no hay espacios ni caracteres especiales para esos nombres, está bien, ahora tenemos listas de productos y productos, esas son las dos hojas que tenemos, no vamos a usar la hoja 3. Ahora lo que quiero hacer es quiero cree un módulo, así que voy a hacer clic derecho en cualquier lugar aquí y voy a hacer clic en insertar y luego módulo aquí es donde van nuestras macros, así que las macros que se ejecutan van a ir aquí, pero las macros que van en la hoja, por ejemplo si hago un cambio aquí, la macro iría al tirador si hago un cambio de selección aquí y quiero que se ejecute una macro o hago un cambio esos irían en la hoja que significa en la hoja que significa aquí macros escritas en la hoja, de lo contrario, sus macros escritas dentro de un módulo aquí, así que voy a crear dos módulos diferentes, el primero lo llamaremos esta imagen, llamémoslo simplemente imágenes del producto , así que pondremos algunas macros, dos macros para las imágenes del producto y luego llamaremos a esta otra. Voy a hacer clic con el botón derecho. Voy a insertar una nueva. La llamaremos así . módulo correcto, lo siento, estaba fuera de la pantalla, pero básicamente vamos a mostrarte que voy a lo que básicamente es un clic derecho insertar módulo está bien eso es todo lo que hice insertar módulo está bien así que tengo dos módulos aquí y ahora ¿Qué quiero hacer con ellos? Bueno, quiero darles un nombre. Siempre es importante nombrar su módulo, así que voy a hacer doble clic y aquí nuevamente, haga clic en las propiedades aquí. Si no tiene ese f4, lo llevará allí. Voy a llegar a esto, solo llame a este producto mouse, solo use macros, está bien, undersc está bien en las macros, ahora tengo dos módulos diferentes, así que lo primero en lo que quiero centrarme es en el producto, podemos cerrar esto , no vamos a usar estas propiedades en este momento, así que ahora podemos cerrar esta opción explícito que aparece automáticamente, de modo que cuando hace clic en las herramientas a la derecha y hace clic en las opciones aquí, verá que aquí tenemos un formato de editor, tenemos un montón de cosas, tenemos un derecho general , tenemos interrupción tras interrupción en todos los errores no controlados, tenemos mostrar herramientas de colaboración. así que estas son cosas que podemos estudiar un poco acoplando si desea un formato de editor de acoplamiento tenemos el editor aquí, así que requiere declaración de variable requerida que nos permitirá opción explícita y eso significa que lo que va a hacer es me aseguraré de que declaremos variables y les mostraré qué es eso, pero declarar variables va a poner esta opción explícita automáticamente en el código interno cuando creamos nuevos módulos o también aquí dentro de la hoja, está bien, así que la primera imágenes de un producto qué quiero hacer quiero crear una nueva macro que nos ayudará con eso, así que lo primero que voy a hacer es dimensionar una de esas variables pero voy a para hacerlo fuera de la macro, la razón es que voy a hacerlo afuera porque quiero que esta variable esté disponible para ambas macros, así que vamos a hacer la ruta de la imagen de dimensión como una cadena, esta es una variable de cadena que es la ruta de esa imagen ahora lo que voy a hacer es configurar mi primera macro, así que vamos a sub y esto es lo que vamos a llamar, navegar guión bajo 4 y luego imágenes para que podamos volver a buscar buscar una imagen, ¿de acuerdo? Entonces, lo que vamos a hacer es que esto nos permitirá buscar la imagen. Bien, lo primero que quiero hacer dentro de esta macro es dimensionar otra dimensión variable. Llamaremos a esta imagen. pongamos en mayúscula ese archivo como un cuadro de diálogo de archivo porque quiero iniciar un cuadro de diálogo de archivo para que podamos buscar un archivo específico, está bien, ahora podemos n escribir un código para hacer precisamente eso, así que vamos a establecer el archivo de imagen igual a la aplicación y luego vamos a escribir ese punto y luego lo que quiero hacer es encontrar los diálogos de archivo de diálogo de archivo aquí eso es lo que quiero crear diálogo de archivo entonces lo que quiero hacer qué tipo de registro de archivo quiero hacer si echamos un vistazo aquí vemos que tenemos selector de carpetas que hemos abierto hemos guardado anuncios el primero es un archivo picker selector de archivos es el primero porque quiero elegir un archivo específico quiero buscar una carpeta cierre el paréntesis bien entonces vamos a mencionar que ahora lo hemos configurado pero ahora queremos hacer algunas cosas con que con qué queremos hacerlo y luego qué noto cómo se automatizó esa es una tecla de acceso rápido automático que me permitirá auto hockey es un software gratuito que puedes descargar que automatiza que lo he programado para hacer eso pero eso es en otro entrenamiento así que con el archivo de imagen queremos hacer algunas cosas qué queremos hacer bien lo primero que Lo que quiero hacer es darle un título. Entonces, ¿cuál es el título? Llamémoslo título, digamos iguales y luego navegue, seleccione una imagen del producto. De acuerdo, queríamos, ¿qué más queremos ? caso quiero todas las imágenes así que filtros qué tipo de filtro queremos filtros dot add quiero agregar algunos filtros porque solo quiero que los usuarios seleccionen imágenes solo nos centramos en los tipos de archivo que son imágenes así que los filtros dot add somos vamos a agregar algunos filtros a eso, ¿qué tipo de filtros tenemos? Vamos a darle un poco de texto para que no le dejemos al usuario saber qué tipo de archivos de imagen, así que ese sería el texto que esta información coma y luego ¿qué queremos? tipo de archivos de imagen que queremos voy a usar los paréntesis, luego quiero usar el asterisco, lo que significa que va a ser cualquier cosa que comience o termine con un punto jpg correcto, queremos un punto jpg, así que ese es uno de ellos esa es una imagen importante formato qué más queremos queremos usemos la coma otra vez tal vez queremos jpeg así que asterisco otra vez el archivo puede comenzar con cualquier punto jpeg está bien eso es importante también queremos gifs bien así que coma otra vez asterisco y luego gif correcto gif los gifs son buenos podemos ponerlos así que por qué no y luego también tal vez punto png así que asterisk dot png queremos esos archivos y luego tal vez bmps vamos con bmps y eso será todo lo que podemos agregar allí así que asterisk dot bmp está bien, esos son buenos y luego qué te hizo terminar las comillas y luego por supuesto, una coma y luego una, está bien, queremos y aunque la posición es solo una en eso, está bien, genial, tenemos eso, ahora qué más queremos, así que tenemos los filtros, ahora queremos asegurarnos de que el usuario realmente tiene seleccionado algo, entonces, ¿de qué queremos asegurarnos? Quiero asegurarme de que hayan hecho una selección porque lo han hecho, si no lo han hecho, no podemos continuar, así que si el punto mostrado no es igual a uno negativo cuando va a ser mostrar un punto negativo es igual a uno negativo cuando en realidad han seleccionado algo, así que cuando es n O eso, entonces necesitamos saber que debemos omitir el siguiente paso, entonces, ¿cómo omitir algo? Entonces vamos a llamarlo selección sin selección y cuando creamos un omisión, debemos asegurarnos de que creamos que en realidad lo enviamos a algún lugar para que sin selección, aquí es donde los enviaremos y luego coloque los dos puntos allí, esos dos puntos son muy importantes, está bien, así que ahora van a omitir aquí, pero suponiendo que hayan seleccionado algo, ¿qué quiero hacer? para definir esa ruta de imagen en una ruta de imagen variable es igual a los elementos seleccionados por puntos y luego seleccionaron un solo elemento como si fueran largos los números de los elementos, por lo que la ruta de imagen ahora tenemos la ruta, la ruta completa de esa imagen dentro de esa variable qué queremos hacerlo bien quiero ponerlo en algún lugar justo donde quiero poner eso como mencionamos antes voy a ponerlo aquí dentro de l11 y eso está basado en la hoja del producto así que hagámoslo bien ahora, los productos tienen un rango de puntos f11 no 2 11 11 puntos el valor es igual a lo que es igual a la ruta de la imagen, entonces vamos a hacer un comentario establecer la ruta de la imagen de la imagen, está bien, ese es el comentario para que sepamos qué podemos comentar cada una de esas líneas, está bien, tenemos la ruta de la imagen establecida ahora puede eliminar los espacios, así que estamos listos ahora, lo que podemos hacer es querer probar este código, está bien, así que de nuevo, cada vez que ejecute su código, siempre querrá guardar por alguna razón, al menos hay un gran error. Hemos guardado nuestro código, está bien, así que ahora lo que quiero hacer es tomar esta macro y quiero asignarla al botón, así que voy a hacer clic con el botón derecho en Copiar, ahora tengo este botón aquí, justo aquí. grupo voy a hacer clic con el botón derecho y luego lo que voy a hacer es asignar la macro o hacer clic en n solo tenemos una macro, así que voy a hacer clic en ella y hacer clic en Aceptar ahora que hemos asignado a este botón , pero si echamos un vistazo, si hacemos clic con el botón derecho en él nuevamente, asignamos macro, vemos que no está bien asignado, eso es un poco extraño, simplemente decidimos bien qué es decir, tenemos un grupo como este, la macro se asigna realmente a los componentes individuales del grupo, por lo que si hago clic con el botón derecho en un componente individual y luego hago clic en asignar macro, vemos que se ha asignado y lo mismo para esto, además de hacer clic con el botón derecho en asignar la macro, vemos que la macro se ha asignado más pero no al grupo, lo cual está bien, así que ahora, cuando hagamos clic en agregar una imagen, veremos si hay algún problema, está bien , ahora vamos a hacer clic en una imagen y haga clic en toda la ruta del archivo debe colocarse allí, está bien, necesitamos poner l11, no f11, eso está bien, no f11, pero l11 podría actualizar ese código, está bien, asegúrese de que lo tenemos bien, l 11, no f11, está bien, así que observe cómo apareció en la celda equivocada está bien ahora hacemos clic en agregar una imagen, solo pruébalo de nuevo y asegúrate de que aparezca en la celda correcta perfecto, está bien, eso me gusta, pero realmente no quiero esto, así que, ¿qué pasa si puedo en otros? queremos que se extienda si queremos ocultarlo todo lo que tenemos que hacer es cambiar la fuente col o correcto para nuestros propósitos , podemos simplemente cambiar el color de la fuente si lo cambio, se ocultará, pero para nuestros propósitos queremos mantenerlo, pero no lo necesitamos por mucho tiempo, así que podemos poner un espacio aquí, solo se mostrará aquí arriba, pero todo el camino está aquí perfecto, así que ahora tengo el paquete de neumáticos, pero lo que realmente quiero es que esa imagen aparezca aquí. ¿Cómo hago para que esa imagen aparezca aquí dentro de esta caja? Eso es lo que queremos vamos a hacer en la próxima macro, así que la próxima macro es lo que vamos a hacer, llamemos a este subproducto y llamémoslo su imagen de visualización, imagen de visualización , eso es lo que quiero mostrar la imagen, lo primero que queremos hacer es vamos a centrarnos realmente en esta hoja de producto, así que nos vamos a centrar en voy a hacer con los productos volver aquí productos esa es la hoja en la que nos vamos a centrar, así que si sabemos que hemos ella escribe si hago clic en el punto, sé que hay algo, pero si escribo mal y hago clic en el punto, no sucede nada bien, así que w Sabemos que al poner eso y luego ingresar el punto sabemos que tenemos opciones, así que lo hemos puesto en la hoja correctamente, entonces, ¿qué queremos hacer? Quiero centrarme en esta hoja de producto, así que lo primero que quiero hacer es quiero borrar cualquier imagen que pueda estar allí le voy a dar un nombre específico esta imagen cada imagen tendrá el mismo nombre porque de esa manera es mucho más fácil de borrar así que qué nombre le daré llamemos así imagen del producto, así que lo que voy a hacer es eliminarlo, de modo que los puntos formen la imagen del producto y luego lo llamaremos eliminar puntos porque si voy a mostrar uno nuevo, quiero eliminar cualquiera uno anterior que podría estar allí, sin embargo, si por alguna razón esa forma no existe, creará un error , así que, ¿cómo podemos evitar eso? Lo tengo automatizado, así que usamos la tecla de acceso directo automático, así que lo hago de esta manera y lo automatiza para mí. un texto automático para que se reanude en el aire a continuación, pero no quiero hacer zoom en el aire a continuación en cada línea, quiero cerrar ese ciclo para que cualquier error después de eso aparezca, así que vamos a hacer en el aire ir a cero y que hace, automáticamente envía todos los errores a cero, está bien, así que aparecerán nuevos errores, de esa manera, si por alguna razón no existe, no creará un error, está bien, ahora que hemos eliminado la imagen es lo primero. lo que quiero hacer es asegurarme de que realmente tenemos una ruta de archivo dentro de l11; si no la tenemos, no podemos abrir una imagen si no hay una ruta de archivo, así que eso es lo primero que queremos verificar, así que quiero saber pero quiero dimensionar algunos campos primero bien queremos queremos dimensionar algunos campos así que hagámoslo porque quiero saber quiero dimensionar en realidad podríamos hacer el ancho y la altura pero creo que podremos para prescindir de él, no los necesitamos en este momento, así que vamos a prescindir de ellos por ahora, si los necesitamos, los agregaremos , pero es bastante sencillo. -explicativo, por lo que es posible que no los obtengamos si el rango de puntos l11 correcto ahí es donde se supone que nuestra ruta de imagen debe ser igual a vacía, entonces, ¿qué debemos hacer? Entonces vamos a salir del sub, no hay nada que podamos hacer si no hay nada dentro de l11 correcto, eso es donde está mirando nuestra ruta de imagen y luego salir de sub nada, podemos hacer qué pasa si pero ahora qué pasa si hay un error incorrecto, está bien, digamos que tenemos algo allí, pero ¿qué pasa si es incorrecto o hay un problema? También quiero salir de esto si hay si es una ruta incorrecta, por lo que tal vez haya algo de texto allí, pero tal vez no sea una ruta adecuada, entonces, ¿cómo lo explicamos? Hagámoslo ahora mismo si el directorio realmente pudiéramos definir eso en un, realmente podríamos hacer lo que hacemos, tenemos una variable aquí arriba para que podamos hacer si el directorio así que ahora asignémoslo le asignaremos esa imagen de parche nuevamente haremos la ruta correcta ya la hemos definido aquí la ruta de la imagen es una cadena, por lo que la ruta es igual ahora sabemos que es igual a qué es igual a lo que hay aquí l11 así que copia este e quals l11, esta es la ruta de la imagen, está bien, así que ahora, si el director directo, puede continuar en ese directorio, la ruta de la imagen, el directorio dot vb, lo que va a hacer es buscar ese directorio, buscará la ruta del archivo, ese nombre de ese archivo si el directorio del directorio del archivo de la ruta de la imagen, lo estamos buscando y decimos que si no muestra nada, entonces sabemos que algo anda mal, así que si es igual a vacío, salga del subsub derecho que significa que hay un error con esa ruta, está bien, ahora lo sabemos . sabemos que hay un valor en f11 sabemos que hay una ruta correcta, así que ahora estamos listos para comenzar, así que ahora lo que quiero hacer es insertar la imagen punto imágenes que no aparecerán automáticamente punto inserte lo que estamos insertando, estamos insertando la ruta de la imagen, así que aquí está la ruta de la imagen y lo que quiero hacer es asignarle un nombre, así que ponga el nombre y cuál es ese nombre, es el mismo nombre allí arriba igual a la imagen del producto, está bien elija el producto ese es el nombre agregue una imagen y asigne un nombre bien, ahora hemos hecho ambas imágenes de puntos insertando una imagen , por supuesto, hemos terminado de insertar todo lo que hemos terminado, no lo hemos hecho. necesito hacer todo eso, pero ahora le hemos dado un nombre ahora podemos trabajar con él, así que hagámoslo con y luego otra vez aquí arriba con lo que con las formas de puntos estamos enfocados en la imagen de este producto queremos hacer algunas cosas con la imagen del producto, entonces, ¿qué queremos hacer bien? Quiero colocarlo bien. Quiero colocarlo. ¿Dónde quiero colocarlo? También quiero asegurarme de que bloqueemos la relación de aspecto. No quiero cambiar nada. hagámoslo primero, bloqueemos la relación de aspecto, vamos a cambiar su tamaño, pero no quiero cambiar su tamaño y cambiar la relación de aspecto de la imagen, así que lo primero que queremos hacer es bloquear la relación de aspecto igual a verdadero o msoc. cierto, ahora que está bloqueado, no cambiará, pero podemos cambiar las dimensiones, pero el ancho si cambiamos el ancho, la altura cambiará si cambiamos el th La altura, el ancho cambiarán, eso es justo lo que quiero, pero ahora lo que quiero hacer es que quepa esa imagen aquí, así que quiero darle un tamaño específico, pero necesito saber si el ancho es mayor que la longitud o la altura, entonces necesitamos hacer el ancho más pequeño a la derecha o la altura o, en este caso, la altura, por lo que es más grande el ancho de la imagen porque podemos tener imágenes diferentes si notamos cuando agregamos una imagen como una manzana este, el ancho es más pesado, una manzana como esta, está verticalmente a la derecha, hay una altura más grande en este caso, por lo que debemos tener en cuenta estos dos tipos de imágenes, entonces, ¿cómo hacemos eso porque ambos quiero que quepan dentro de esta caja y quiero que esté centrado en este cuadro, así que, ¿cómo vamos a hacerlo? Sigamos adelante y escribamos un código, de modo que si el ancho del punto, el ancho de la imagen es mayor que el alto del punto, entonces queremos hacer algo, entonces entremos. entonces entonces bien tenemos que hacer otra cosa hacemos otra cosa Entonces , si el ancho es mayor que la altura, ¿qué quiero hacer? Quiero asignarle un ancho específico , así que hagamos este ancho de punto, démosle alrededor de tal vez 90 es igual a 90. Puedes jugar con los tamaños que sabes si hay demasiado grande o demasiado más ¿qué quiero hacer? Quería establecer la altura del punto de altura. Veamos la altura. La altura es igual a, digamos, alrededor de 70. Está bien, echemos un vistazo y luego, ¿qué más quiero hacer? Necesito para mostrarlo y ponerlo en un formulario específico donde quiero mostrarlo, no hemos dicho exactamente dónde queremos mostrarlo, quiero mostrarlo en función de una celda específica basada en esta celda superior izquierda j5 es donde yo quiero mostrarlo, así que eso es exactamente lo que vamos a hacer, así que la posición izquierda del punto será igual a ahora nuevamente, necesito especificar las hojas, noto que estoy dentro de las formas de los puntos aquí, eso significa que voy a necesito especificar esta hoja de producto nuevamente porque quiero basarme en que es igual a la gama de puntos de productos nuevamente, vamos a b Úselo en ese j7, por lo que se basará en jj5, en realidad j5 , verifiquemos dos veces que j5 correcto j5 es donde queremos colocarlo, por lo que se basará en ese j5 a la izquierda de j en el lado izquierdo, por lo que será justo a la izquierda de j5 y también quiero colocarlo en el punto superior ¿Cuál es la posición superior? La posición superior también se basará en el día cinco . mira cómo ahora cuando agregamos una imagen entre comillas, está bien, estamos listos para continuar, así que esta es la posición izquierda, la posición izquierda y esta es la posición superior, la posición superior de esa imagen, así que ahora tenemos lo que queremos hacer. ahora, cuando agregamos una imagen cuando navegamos, quiero mostrar automáticamente la imagen, así que lo que voy a hacer es tomar esta macro aquí y luego justo aquí en el medio, no si no hay una selección correcta, quiero sáltelo, pero quiero pegar esa macro aquí, ejecute la macro para mostrar la imagen, está bien, así que ahora vamos a guardar nuestro trabajo, podemos guardarlo desde aquí también, así que ahora lo que voy a hacer es hacer clic en Agregar imagen. Voy a mostrar esta imagen. Voy a hacer clic. el tamaño es ahora, déjame hacerlo de nuevo, voy a mostrar la vertical asegurándome de que está bien, el tamaño es bueno, probablemente podría avanzar un poco más en la vertical aquí, pero está bien, pero es agradable, pero realmente lo que Realmente quería aparecer así, realmente lo quiero centrado aquí, ¿no sería bueno si pudiera centrarlo aquí? No lo hago, pero ¿cómo sé que sabes? ¿Cómo sé exactamente dónde ponerlo? Sería bueno independientemente del ancho o la cabeza. Lo quiero centrado. ¿Cómo puedo hacerlo bien? Puedo hacerlo con solo un poco de matemática. Empecemos con la derecha horizontal. Lo que quiero hacer es determinar el ancho de las columnas j y quiero saber el ancho de eso si conozco el ancho de j y k y también sé el ancho de esto todo lo que necesito hacer es tomar la w idth de esto , reste el ancho de esto y luego divídalo por dos, eso nos dará un espacio igual en ambos lados, así que hagámoslo, agreguemos eso, entonces, ¿cómo lo hacemos bien? Vamos a centrarnos en el punto a la izquierda, a la derecha, solo estamos enfocados en el punto en la posición izquierda, así que hagámoslo, así que básicamente quiero agregar algo a la derecha actualmente, actualmente se muestra aquí, así que si agrego algo al punto a la izquierda, lo moverá a la derecha, si resto del punto izquierdo, se moverá hacia la izquierda, entonces, ¿cómo hago para que se mueva hacia la derecha y cuánto, la mejor manera de hacerlo es simplemente agregar algo que tendríamos? para saber cuánto agregar, así que de nuevo el punto izquierdo estamos agregando a eso, así que voy a presionar más aquí, ¿qué vamos a agregar? Recuerde que nos basamos en que comenzamos con el ancho del ancho total de estos. dos columnas j y k, así que obtengamos primero el ancho total de esas dos columnas y pongámoslo allí de nuevo productos punto rango j a través gh k ancho de punto que nos dará el ancho total de las columnas, pero no quiero que sepa que lo que debo hacer es restar el ancho de esa imagen específica, así que vamos a restar eso así estamos restando el ancho del punto de la imagen, sea lo que sea, así que ahora lo hemos restado, pero ahora lo que quiero hacer es correcto, así que ahora lo hemos determinado, así que digamos, digamos que el ancho es este y determinamos ahora que sabemos cuánto espacio agregar, pero lo que necesito saber es cuánto es el espacio total correcto, la diferencia de espacio total entre estos, pero lo que quiero hacer es que quiero el mismo espacio en ambos lados, así que necesito dividir ese número por dos para obtener el espacio igual, así que hagámoslo ahora mismo, así que necesitamos dividirlo por dos, así que será la suma , así que pongamos eso porque el producto, pongamos esto entre paréntesis, algunos de estos dos , la resta correcta aquí dividida por dos, tomemos mire eso y vea cómo funciona bien, busquemos otra imagen y usemos el horizontal, haz clic, está bien, eso se ve perfecto, agreguemos otro, hagamos el vertical y perfeccionemos, ves cómo ahora está adentro, pero mira, tenemos que hacerlo verticalmente, también lo quiero centrado aquí, ¿cómo lo hacemos exactamente del mismo tipo ? de matemáticas, excepto que esta vez no estamos usando estas columnas, estamos usando estas filas , vamos a usar filas entre 5 y 10 5 y 10. Quiero saber la altura total de todas las filas entre 5 y 10 i voy a restar la altura de la imagen y luego dividirla por 2. Así que echemos un vistazo a eso, así que más otra vez vamos a poner más aquí otra vez voy a poner esta estrategia productos productos deletreados correctamente rango de puntos nuevamente este entre 5 a 10 filas derechas 5 a 10 y quiero saber la altura la altura de esos y luego quiero usar quiero restar algo lo que quiero restar quiero restar la altura de la imagen por lo que la altura de la imagen entonces voy a dividir eso por 2. así que esto con la posición superior es básicamente la altura de las filas dividida por la altura de la imagen dividir discúlpeme restar la altura de la imagen dividida por 2. vamos a dividirla para que tengamos la misma cantidad de espacio sobre la imagen y la misma cantidad de espacio debajo, hagamos clic en agregar una imagen y veamos cómo funciona, agreguemos manzanas aquí y está bien, perfecto, ahora tenemos el mismo espacio en ambos lados, hagamos el vertical aquí y haga clic en Aceptar, buen espacio igual en ambos lados ahora tenemos la imagen centrada perfectamente tal como la queremos, está bien, guardemos nuestro trabajo ahora todo lo que tenemos que hacer son solo dos cosas ahora lo que vamos a hacer es tomar esta información cuando yo haga clic en guardar o actualizar. Quiero que esta información vaya dentro de la lista de productos aquí, así que borre los datos que tenemos y escribamos la macro para eso dentro de un módulo completamente nuevo . Nos centraremos en las macros de productos. para escribir varias macros en esto, tal vez solo conozca algunas de ellas n ot varios, veamos, nos vamos a centrar en llamemos a esto guardar y actualizar, necesitamos una mac sobre guardar una actualización, así que subproducto, llamemos una actualización guardada, está bien, y luego quiero otra que tendremos para cargar nosotros necesito cargarlo como subproducto y luego cargarlo, luego también quiero otro para eliminar, queremos poder eliminarlo para eliminar el subproducto , comenzaremos con esos y quería mencionar algunas variables que vamos a necesitar . y estas variables se van a usar para todas las macros para que podamos escribirlas aquí arriba de la dimensión de las macros queremos la fila del producto necesitamos saber en qué fila está el proyecto en la fila del producto también necesito una columna del producto iremos sobre por qué esa variable es larga, así que también necesito saber la columna del producto, la columna del producto es larga, lo que significa un número entero, está bien, un número entero y también eso es todo por ahora, es un buen comienzo, no creo que vayamos. para necesitar mucho más, vamos a mantener esto extremadamente simple, hagámoslo la primera vez. lo que quiero hacer es guardar esto quiero tomar esta información quiero hacer clic en guardar o actualizar aunque este mismo botón se usará ya sea que estemos guardando o actualizando y les mostraré dos diferentes formas de actualizar los datos, vamos a tomar esta información, la pondré en esta primera fila aquí, bien, ¿cómo lo hacemos? Lo primero que debemos hacer es escribir un poco de macro i quiero asegurarme de que el usuario haya ingresado al menos el nombre del producto en e7 porque si no ha ingresado ningún nombre, quiero informarle que ingrese un nombre antes de guardar un producto para que nos centremos nuevamente en nuestra hoja de productos, así que con los productos está bien, eso es con nuestra hoja de productos, así que todo lo que hagamos después se basará en esta hoja de productos, así que si se requiere el rango de puntos e7, recuerde que e7 es igual a vacío, este es el nombre de nuestro producto, luego infórmele al usuario, por favor ingrese el producto nombre antes de que podamos avanzar, entonces qué cuadro de mensaje ingrese una p nombre del producto antes de guardar salir del sub vamos a salir porque no hay nada que podamos hacer hasta que hayan ingresado el nombre del producto exit sub bien nada que podamos hacer suponiendo que hayan ingresado el nombre del producto podemos continuar ahora quiero para asegurarme de que quiero ver si esto es un recuerdo, le dije que usaremos esta misma macro ya sea que estemos guardando una nueva o actualizando una existente, pero necesito saber si este es un producto nuevo o no cómo ¿Sé esto bien? Lo mejor es que en un nuevo producto, la identificación del producto estará en blanco, ¿verdad? Va a estar en blanco y sabemos que la fila basada en la identificación del producto está vacía, si este b6 está vacío, sabemos que ya lo está. un elemento completamente nuevo justo cuando creamos el nuevo cuando agregamos un nuevo producto, hacemos clic en agregarlo, todo se borrará aquí, incluida la identificación del producto, por lo que si esta identificación del producto está en blanco, sabemos que también está en blanco porque hay un error, por lo que b6 está vacío , sabemos que es un producto nuevo, por lo que podemos escribir que i en el código, así que si vamos a hacer esto si el rango de puntos b6 vamos a moverlo aquí solo para que podamos ver ambos vamos a mover esto arrástrelo aquí un poco el valor del punto b6 es igual a vacío igual a vacío entonces qué es un producto nuevo, de lo contrario es un producto existente producto existente está bien y qué pasa si es un producto nuevo si es un producto nuevo necesito hacer algunas cosas bien necesito determinar la próxima identificación del producto que se ubicará aquí también necesito saber qué fila será va a ser la primera fila disponible en este caso 4, por lo que necesitamos saber la fila si ya es un producto existente, esa fila se mostrará ubicada en b6, así que hagamos esto, obtengamos la identificación del producto que se encuentra aquí y coloquemos en dos lugares el primer lugar que voy a poner es justo aquí el segundo lugar que voy a poner como el primero disponible ubicado aquí en la columna a el primero disponible así que hagámoslo porque estamos enfocados en el nuevos productos así que nuevamente esto se llama el nuevo producto esto es th El producto existente, así que vamos a escribir un código aquí, solo una línea de código y luego aquí, esto se basa en esto, así que para los nuevos productos, ¿qué quiero hacer de nuevo? h 5 será igual a la siguiente identificación del producto en b7 así que escribamos eso ahora rango de puntos h5 valor de punto igual a rango de puntos qué es b7 b7 esa es la identificación del producto así que quiero poner esa identificación del producto justo ahí pero quiero ponerla en otro lugar quiero ponerla la base de datos correcta o la lista ubicada en nuestra lista de productos id del producto está bien, lo tenemos en h5 pero también quiero ponerlo dentro donde dentro del producto correcto tenemos nuestra lista de productos este es el nombre de la hoja en realidad la lista de productos es esta uno aquí no se asegure de que sea el rango de puntos de la lista de productos correctos ¿dónde quiero ponerlo? y necesitamos asignar una fila de productos, ¿no? No sabemos qué producto, ¿cómo vamos a asignar una regla de producto? Bueno, hagámoslo ahora mismo antes de que olvide la fila del producto es igual a lo que será la primera fila disponible, así que d tecla de acceso directo automático de identificación que es rápido, a la derecha a99 la primera fila disponible que estoy usando end excel up esto nos dará la última fila de datos esto nos dará la última fila de datos si agregamos uno nos dará la primera fila sin datos, está bien, esto está en la columna a, así es como lo obtenemos, ahora hemos asignado la ejecución del producto a esta variable, por lo que ahora a y el valor del punto de la fila del producto es igual a lo que es básicamente lo que tenemos también en b7 b7 es nuestro producto id es igual a b7 correcto, así que esa es también la identificación del producto, así que ahora lo tenemos bien, ahora lo que hemos hecho es que para estos nuevos registros hemos tomado el producto , tomé la identificación del producto y lo coloqué directamente dentro. esta columna aquí en a4 donde sea que esté ubicada en cualquier fila ahora necesito agregar el resto de ellos, pero ¿cómo hago eso? Entonces, básicamente, lo que quiero hacer aquí es donde nuestro mapeo de datos entrará en juego porque lo que quiero. lo que tengo que hacer es mirar en la fila 1 aquí y quiero mirar e7 aquí e7 está aquí quiero ver qué es una e 7 lo que sea que esté en e7 quiero colocarlo directamente en esa fila quiero ver h7 aquí lo que sea que esté en h7 quiero colocarlo directamente en esta columna y voy a hacer lo mismo para todos en e9 voy a para mirar directamente aquí qué es un e9 este precio de compra y lo colocaré directamente aquí para hacer eso, lo que voy a hacer es ejecutar lo que se llama un bucle, así que voy a bucle desde esto ya hemos colocado esto, así que no necesitamos comenzar aquí. Voy a hacer un bucle desde esto hasta aquí . la columna número dos, por lo que es igual a la columna, podría poner dos o no la columna de dólares, la columna derecha, la columna dos, así que si quiero hacer un bucle desde la columna dos, quiero hacer un bucle hasta la columna número nueve, quiero hacer un bucle desde allí hasta allí Entonces, de dos a nueve , para f para dos, lo que quiero hacer es buscar en e7. Quiero colocarlo en la fila del producto cuando estamos colocando un valor en otra hoja. En cualquier hoja que use vba, necesitamos tres cosas . Necesitamos el nombre de la hoja. Tenemos ese derecho. Sabemos que está en la lista de productos. Necesitábamos la columna y necesitamos la fila. Entonces, ¿cuál es la fila? Ya hemos definido la fila. Conocemos la fila del producto. aquí , ahora solo necesitamos saber la columna, la columna será 2 3 4 5 6 hasta 9. Esto nos permitirá tomar lo que esté en estos rangos aquí, esto es mapeo de datos y colocarlos directamente dentro de la fila correcta, eso es todo lo que tenemos que hacer, así que tenemos que crear un ciclo de dos a nueve, así que hagámoslo ahora mismo dentro del código, así que haremos eso y luego, pero ¿y si es un existente? escríbalo, luego escribiremos nuestra fila de productos de columna, por supuesto , es igual a porque existe, sabemos que está en b6 porque existe es igual a b6, si recordamos correctamente nuestra fila de productos, si tenemos una lista de productos si tengo un uno aquí ID de producto correcto uno y tengo un ID de producto aquí ya sabemos que nuestro producto la fila está ubicada en b6, sabemos que es la fila cuatro, así que si es un elemento existente que ya se agregó, sabemos que b6 contendrá esa fila, así que eso es todo lo que tenemos que hacer para eso, está bien, sigamos, lo agregamos aquí para que el producto la fila para existente va a ser igual a b6, esa es nuestra fila de productos , así que escribiremos producto, aunque es relativamente autoexplicativa, la fila de productos es buena, así que ahora, independientemente de si es nuevo o existente, vamos a escribir el resto de las tres líneas de código, solo tres líneas de código que agregarán todos estos datos en esta fila aquí, podemos borrar eso y lo borraré aquí, pero básicamente de dos a nueve lo mantendré por ahora para que puedan ver por qué estamos ejecutando el bucle y voy a traer esto aquí un poco para que podamos ver ambos al mismo tiempo, está bien , voy a ir aquí cuatro, estoy listo para bucle cuatro ya hemos definido la columna del producto aquí la columna del producto es larga, por lo que sabemos que es una columna del producto número cuatro umn es igual a dos a nueve, no olvide cerrar la columna del siguiente producto, así que ahora, ¿qué queremos hacer? Básicamente, lo que quiero hacer es quiero enfocarme, quiero agregar información a esta lista de productos, así que voy a comenzar con esa lista de productos celdas de puntos voy a usar celdas por qué estoy usando celdas y no rango estoy usando celdas porque tanto el producto la columna como la fila son números enteros variables entonces estamos vamos a usar que la fila conocemos la fila del producto de la fila, esa es la fila que irá a la columna va a ser variable en la columna del producto, está bien, entonces sabemos dónde estará el valor del punto, así que ahí es donde estará colocados correctamente, sabemos que nuestros datos se colocarán directamente aquí, estarán aquí, aquí, aquí o continuarán hasta el final, pero ¿de dónde los obtendrá? ¿De dónde obtendremos la información? an e7 h7 e9 correcto, vendrá de aquí para que nuestros datos provengan de aquí, escribamos eso para que nuestros datos sean iguales al rango de puntos , es el rango basado en que nuestros datos ya están basados en los productos aquí, así que necesitamos el rango de puntos, pero ¿dónde está ese rango? Necesito ese rango, recuerde que el rango es ubicado aquí aquí aquí por lo que va a ser nuestro rango está ubicado en nuestra lista de productos, por lo que la lista de productos es donde está ubicado, las celdas de puntos, dónde está ubicado, está ubicado en la fila, la fila uno, a la derecha, donde está la columna . viniendo del valor de punto así que esto de aquí esta es la parte que se vuelve un poco confusa lo que sea que esté en este rango y colóquelo directamente en la fila del producto en la columna del producto y se repetirá eso es mapeo de datos, así que esto es agregar datos a la lista de productos perfecto, eso es todo lo que necesitamos hacer, así que es relativamente simple eso es solo tres líneas de código, está bien, ahora lo que quiero hacer es una cosa más que quiero hacer una vez que agreguemos un número de producto , incluso si lo actualizamos, también lo quiero, estamos bien con eso ahora, así que digamos que agregamos verde manzanas , digamos que agregamos uno nuevo, quiero que aparezca aquí en esta lista también en e5, pero también cuando hagamos un cambio aquí, también quiero que se cargue, así que lo que vamos a hacer es voy a cambiar esto a verdadero y les mostraré exactamente por qué en un segundo voy a cambiar esto a verdadero temporalmente voy a tomar este valor voy a colocarlo aquí luego voy a cambiar vuelve a ser falso nuevamente, así que hagámoslo dentro del código, solo tres líneas de código, por lo que lo primero que queremos hacer es el punto b para que sea igual a verdadero, así que el rango de puntos b porque estamos haciendo una actualización del producto b para que el valor del punto sea igual a verdadero actualización del producto a verdadero y luego lo que quiero hacer es simplemente copiar esto y vamos a cambiarlos a falso hace que sea un poco más fácil voy a saltarme una fila hacia abajo y luego cámbielo a falso, luego lo volverá a cambiar a falso, está bien, y luego verá por qué esto es importante un poco más adelante, entonces lo que quiero hacer es actualizar eso nuevamente todo lo que quiero hacer es tomar lo que sea que esté en e7 y colocarlo directamente en e5 para que podamos hacerlo con solo un poco de código para que el rango de puntos e5 sea igual al rango de puntos e7 e7 y colocará el nombre en la lista o el nombre actualizado nombre del producto en la lista desplegable bien bien ahora lo tenemos todo bien bien echemos un vistazo a eso otra vez guarde su trabajo bien ampliemos eso solo echemos un vistazo rápido redondeemos un poco así que el primero Lo que vamos a hacer es verificar si el nombre del producto está vacío. Si está vacío, saldremos del sub y luego verificaremos si estamos en un nuevo producto, ¿verdad? B6 está vacío, lo sabemos. es un producto nuevo si es un producto nuevo vamos a hacer dos cosas vamos a tomar ese producto tres cosas en realidad vamos a d Determine la fila del producto entre la cual está la primera fila disponible aquí, entonces lo que vamos a hacer es tomar el próximo producto que sea, lo colocaremos directamente en h5, también tomaremos la identificación del producto . voy a colocarlo directamente en la primera fila, entonces lo que vamos a hacer es pasar del 2 al 9, voy a tomar lo que sea que esté aquí y lo obtendré directamente desde aquí lo que sea que esté en esos campos hasta aquí y eso es lo que hacemos aquí, así que vamos a tomar h5 colocando ese producto determinando el primer producto disponible, recuerde que esto es solo para artículos nuevos, entonces a tomará ese primer valor de identificación del producto, si es un producto existente, todo lo que tenemos que hacer es determinar la fila del producto en función de b6, está bien, tomaré nuestro ciclo a medida que repasamos el ciclo y lo ejecutaremos para incorporar todos esos datos. vamos a establecer b4 en verdadero vamos a cambiar e5 que pone el nombre de ese producto en la lista desplegable de nuevo tomando w lo que sea está ubicado en e7 y colocándolo directamente en e5 tomando el nombre de ese producto en caso de que haya actualizaciones o nuevas, entonces vamos a hacer b para el falso, está bien, guardamos nuestro trabajo como ya lo hicimos, voy a tomar esto. Voy a copiar esto. También puede simplemente seleccionar si tiene muchas macros. Voy a hacer clic con el botón derecho en este. Haga clic en Asignar macro y producto. Puedo pegar lo que he creado o simplemente seleccionarlo. de la lista, haga clic en Aceptar ahora nuevamente guardando nuestro trabajo siempre es bueno guardarlo ahora lo haremos asegurándonos de que estemos borrados y voy a hacer clic en guardar y actualizar y echar un vistazo, está bien, se ha guardado una identificación de producto nuestro verde apple se ha colocado aquí, eche un vistazo dentro de la lista de productos, está bien, tenemos que actualizar la fila allí, así que teníamos algunos datos, creo que teníamos uno aquí, así que echemos un vistazo a eso para asegurarnos de que lo tengamos. voy a aclarar que echando un vistazo aquí la fila de productos debe venir el primero disponible echemos un vistazo a que nuestro producto escribió ubicado aquí tenemos que establecer la fila del producto tiene que estar en la hoja de la derecha la fila del producto de la derecha no es un punto a la derecha esto es estamos enfocados en la hoja del producto pero lo quiero en la lista de productos la hoja de la lista de productos es a donde vamos para obtener la primera fila disponible correctamente , ¿por qué nos dio eso? Debido a que nuestra primera fila disponible se encuentra aquí en ocho, tenía la hoja incorrecta, así que si ve algunos datos, tengo la hoja incorrecta, así que nos dio ocho porque estaba enfocado en nuestra hoja de productos pero queríamos nuestra lista de productos que se encuentra en cuatro bien bien hagamos clic en guardar y actualizar echemos un vistazo a esto perfecto exactamente lo que quieres así que ahora vemos que lo tenemos a la derecha vemos que hemos seleccionado lo correcto hoja, por lo que los errores no son un problema , es fácil trabajar con ellos, puede ver por qué simplemente tenemos la fila incorrecta, debemos asegurarnos de seleccionar la hoja adecuada porque estamos enfocados aquí en la hoja del producto, por lo que debemos asegurarnos especificamos la hoja específica en la que queremos obtener la primera fila disponible que está en la lista de productos está bien, tenemos que está funcionando muy bien ahora todo lo que tenemos que hacer es ahora ¿qué tal si quiero crear uno nuevo ? manzanas y quiero asegurarme de que la actualización haga clic en actualizar y entre ahora hacemos clic en la lista desplegable perfecta y luego lo que haremos es borrar eso y luego hacer la actualización que es exactamente en lo que estoy haciendo clic guardar y actualizar bien, ahora lo tenemos, así que ahora lo que quiero hacer es agregar un producto, es solo una pequeña macro para agregar un producto, así que producto nuevo, llamémoslo subproducto y luego agregue nuevo, está bien escriba eso aquí, entonces, ¿qué queremos hacer en esto ? ¿ Queremos asegurarnos de borrar esto? Entonces, de nuevo, quiero borrar básicamente todo, desde e 5 hasta e 11 e 5 hasta ugh e 11. así que hagamos eso y luego también quiero borrar de nuevo h 5 a h11 y luego quiero borrar estos dos también así que esas tres secciones vamos a estar limpiando así que escribamos eso aquí producto, desplegaré esto para que pueda ver ambos y luego lo haremos, estableceré el rango de puntos de los productos y luego diremos e5 y podría hacerlo individualmente, pero es de la imagen e a la e11 también quiero hacer h5 a h11 y quiero hacerlo de nuevo quiero asegurarme de que nuestro k11 y también l11, por lo que k11 y l11 también deben borrarse k11 l11 luego finalice las comillas puntee el contenido claro correcto no claro claramente borre los formatos simplemente borre el contenido , está bien, genial, también quiero, si hay alguna imagen aquí, quiero asegurarme de eliminar eso también, así que hagámoslo, hagámoslo de nuevo, eliminemos la imagen, así que de nuevo vamos a hacer lo que ya hemos hecho. reanudar el aire a la derecha en caso de que no haya una imagen y luego quiero decir productos estamos especificando una hoja aquí formas de puntos llamada ing it product pick vamos a ponerlo en mayúsculas product pick dot delete delete aquí vamos a eliminar eso allí vamos y luego en el aire vamos a cero, está bien, eso va a eliminar cualquier imagen cuando la borre quiero asegurarme de que estoy borrando cualquier imagen, está bien, así que nuevamente voy a echar un vistazo a este clic derecho en el grupo asignar el producto macro agregar nuevo clic ok guardar nuestro trabajo especialmente antes de borrar los contenidos en cualquier momento que escriba las palabras claro o claro correcto Tenga en cuenta que teníamos contenidos claros. Si arruiné el rango aquí, es posible que borre todo, así que asegúrese de guardar siempre, especialmente antes de usar contenidos claros. Siempre queremos guardar nuestro trabajo de esa manera si, por alguna razón, nuestra macro arruina las cosas realmente. todo lo que tenemos que hacer es cerrar la aplicación sin guardar y luego simplemente abrirla, así que ya hemos asignado la medida, haga clic en agregar nuevo y eso se ve bastante bien, hemos borrado la imagen, hemos borrado los datos todo el los datos estan aqui goo d ahora estamos listos para agregar uno nuevo, así que agreguemos uno nuevo, naranjas, está bien, precio de compra, ingresemos 0.75 y el proveedor preferido, digamos la granja de freder nuevamente, es una buena granja y luego ahora pondremos un tipo, vamos nuevamente fruta y luego agregaremos un precio de venta de 1.75 y luego reordenaremos la cantidad 10 y 10 establezcamos una imagen en esto para las naranjas haga clic en agregar una imagen y haremos clic en algunas naranjas aquí está bien, entonces vamos a haga clic en guardar producto perfecto ahora le hemos dado un producto id2 tenemos el nombre de la lista de productos aquí está bien ahora tenemos dos productos guardados todo es como lo queremos pero ahora lo que quiero hacer es cuando hago clic aquí manzanas verdes quiero cargar ese verde quiero que se cargue esa información, entonces, ¿cómo lo hacemos de nuevo? Lo hacemos con una macro relativamente simple y esa macro se llamará carga de subproducto, por lo que nos permitirá para cargarlo, nos vamos a centrar en la hoja de producto, así que con los productos está bien, así que quiero centrarme en el productos los productos se centran en esa hoja, por lo que lo primero que queremos hacer es asegurarnos de que cuando carguemos un producto correctamente, lo que voy a hacer es que quiero la fila, pero esta fila se basará en el nombre si selecciono naranjas necesito saber en qué fila cargar todos esos datos correctos todos los datos naranjas se encuentran en la fila 5. quiero saber el nombre de la fruta todo bien quiero cargarlo aquí pero tengo que saber la fila que tengo para saber qué hay en la fila 5. ahí es donde viene este en b5 observe las filas basadas en estas naranjas, ahí es donde entra la fila aquí, así que si está en blanco, entonces sé que hay un problema con el nombre que el el usuario ha seleccionado, así que primero queremos verificar si b5 está en blanco, infórmele al usuario que seleccione el producto correcto, así que sigamos y escribamos eso ahora mismo si puedo expandir esto un poco si el rango de puntos b5 valor de punto es igual a vacío entonces cuadro de mensaje, seleccione un producto correcto bueno para que lo tengamos y salga del sub nada que podamos hacer menos, tenemos una fila y b5 exit sub, así que copiemos b5 porque tenemos que vamos a usar que vamos a asignar una variable específica que la fila del producto es igual a lo que sea que esté en la fila del producto b5, está bien, ahora tenemos obtuve la fila del producto nuevamente necesitamos esas tres cosas que necesitamos si vamos a traer información aquí nuevamente necesitamos la hoja tenemos la hoja necesitamos la fila y necesitamos la columna sabemos la fila que ya hemos asignado la fila y ahora solo tenemos que obtener el vamos a usar inverso y ahora solo necesitamos obtener las celdas, así que ahora lo que sé es que voy a tomar naranjas , las colocaré en e7 en esto hoja aquí, voy a tomar la fruta, la voy a colocar en h7 en esta hoja aquí, así que ahora lo que vamos a hacer es usar el mapeo de datos inverso para tomar todos estos datos y colocarlos en estas celdas en la hoja, así que eso es todo lo que tenemos que hacer de nuevo ejecutando otro bucle, así que escribamos ese bucle ahora mismo, así que hemos asignado la fila del producto ahora hagámoslo para otra vez la columna del producto, pero esta vez lo que quiero hacer es incluir uno, quiero asegurarme de que la identificación de este producto esté aquí ubicada en h5, así que vamos a ejecutar este ciclo comenzando con uno comenzando con uno que va desde uno a nueve porque nuestra identificación de producto aún no está disponible, así que en este caso tenemos que hacer exactamente eso para que la columna del producto sea igual a uno, dos , nueve y luego cerrar nuestro ciclo siguiente columna del producto, está bien, así que dentro de eso ahora lo que debemos hacer es vamos a concéntrese en esto, así que nuevamente concéntrese en el rango de puntos de producción en la hoja del producto ahora lo que queremos hacer es construir información, pero ¿dónde obtengo el rango? ¿dónde obtengo esta información? ¿dónde colocarlo? ¿dónde obtengo e7? ¿dónde obtengo h7 ¿dónde obtengo e9 lo obtengo de aquí e7 87 e9 lo obtengo de aquí así que lo obtengo de esta hoja de lista de productos basada en la fila uno basada en la columna variable desde la columna uno hasta la nueve entonces escribamos eso adentro, de modo que, según el producto, la lista de guiones bajos, las celdas de puntos nuevamente, la fila uno, ¿cuál es la columna c? olumns columna de producto variable se va a mover el ciclo a través de uno a la derecha, por lo que este valor aquí y el valor de punto, de esta manera vamos a traer aquí es donde va, este es nuestro rango aquí y aquí es donde va a estar colocado pero de dónde viene viene de igual de nuevo producto subrayado celdas de puntos de la lista viene de nuestra fila de productos y luego también vendrá de una columna de producto valor de punto de columna de producto así es como vamos a traer los valores tráigalo ahora vamos a traerlo desde tan bien, así que tenemos eso al cargarlo ahora va a traer todos nuestros datos, así que sigamos y continuemos así que vamos a ir a través de eso y también lo que quiero hacer una vez que traiga esta ruta de archivo en particular realmente quiero mostrar esa imagen de nuevo bien quiero voy a traer la ruta del archivo voy a ponerla aquí quiero muestre esa imagen, entonces, ¿cómo lo hacemos bien? Simplemente voy a ejecutar la carga b Pero lo primero que quiero hacer es asegurarme de que si estamos cargando otro producto quiero eliminar la imagen existente, no queremos hacerlo bien, así que hagámoslo, actualicemos las ventas de esta lista de productos. producto cuando se muestra en rojo, eso significa que hay un problema, por lo que el valor del punto de la lista de productos del rango está bien, solo nos faltan los paréntesis aquí, está bien, ahora lo tenemos cubierto, está bien, rojo silencioso, solo falta ese paréntesis, está bien, ahora lo que quiero hacer es quiero lo primero que quiero eliminar cualquier imagen que pueda, así que voy a hacer es copiar esto en caso de que haya alguna imagen que previamente voy a copiar vamos a eliminar cualquier imagen que podría haber estado allí , ya codificamos que ahora estamos listos para agregar la imagen, así que todo lo que tengo que hacer es agregar la imagen, en realidad no necesitamos esto, sabes lo que es correcto porque ¿por qué no? necesitamos eliminarlo porque nuestra macro que muestra la imagen, sigamos adelante y echemos un vistazo, este es el La macro en la que quiero mostrar la imagen ya la incluye, así que no la necesitamos, así que voy a copiar esto , volver a la macro del producto, así que una vez que la carguemos, cárguela, todo lo que tenemos que hacer es ejecutar la macro. de nuevo , esa es la macro que muestra la imagen y si por alguna razón no hay imagen, no creará un error porque porque va a buscar problemas con eso y si no se encuentra si la imagen no se encuentra o no hay valor simplemente saldrá bien, genial, pero ¿cuándo quiero que esto suceda? ¿Cuándo quiero que la carga de este producto se cargue bien? Creo que ya casi terminé todo, pero ¿qué quiero hacer cuando quiero cargar este producto? quiero cargarlo cuando un usuario hace una selección cuando hace clic aquí, ahí es cuando quiero que se cargue correctamente, así que eso se basa en un cambio de hoja de trabajo justo cuando hago un cambio en e5 quiero activar algún evento , así que escribimos ese código directamente en la hoja, así que echemos un vistazo a la hoja del producto que es en la que nos estamos enfocando en la hoja de producto derecha cuando hago un cambio, así que cuando hago clic en la hoja de trabajo y hago clic en cambiar, no en la selección cuando hago un cambio para que podamos deshacernos de este gen de selección, en realidad estamos haciendo un cambio cuando hago un cambio en e5 entonces algo va a pasar, entonces, ¿cómo lo hago bien? Básicamente, lo que quiero hacer es simplemente escribir un código que nos permita hacer eso, así que escribamos si no es la intersección correcta, lo haré, si no la intersección, ¿qué hace ? eso significa y que autohotkey me ayudó a escribir eso más rápido, eso significa que si el usuario cuando no ve y no ve nada, se cancelará entre sí automáticamente, así que olvide que es muy confuso, simplemente no pueden cambiar, eso significa que si el usuario hace un cambio de objetivo y eso cambia en este objetivo este rango qué rango no h12 obviamente en qué rango estamos enfocados estamos enfocados en e5 entonces vamos a cambiar eso a e5 eso significa que si el usuario cambia la celda a e5 no es nada y quiero asegurarme de que eso en realidad contiene un valor, así que no solo eso, y quiero asegurarme de que e5 tenga un valor si está claro que no hay nada que podamos hacer bien, así que si el tipo de cambio, ¿dónde borrarían esto, entonces no quiero hacer nada solo ? cuando en realidad hay un valor en e5, entonces nos aseguraremos de verificar eso y el valor de punto del rango e5 no es igual a vacío, está bien, queremos asegurarnos de que no sea igual a vacío y también quiero asegurarme de que en realidad no se están cargando vacíos, también quiero asegurarme de que el número de actualización del producto cuando saboreo cuando hago que cambie el naranja y tomo esto y hago el cambio aquí que no es el tipo de cambio que quiero solo cuando el el usuario realmente mencionó si cambio esto a jugo de naranja a la derecha y lo pongo y automáticamente la macro cambia este tipo de cambio que no quiero cargar a la derecha, así que recuerde que cambiamos esto a verdadero y de nuevo a falso, así que si asegúrese de que esto sea falso, entonces no tenemos que preocuparnos por eso , así que hagamos que asegurémonos de que la actualización del producto b sea falsa para hacer eso, está bien, así que hagámoslo y rango b4 el valor del punto es igual a falso, está bien, ahora eso va y ese es el que queremos asegurarnos, está bien, ¿qué más queremos? También quiero asegurarme que hay una fila adjunta aquí , quiero asegurarme de que, aunque tenemos, quiero asegurarme de que b5 contenga un valor correcto porque tiene que tener una fila, así que asegurémonos de eso también porque no podemos cargar y rango el valor b5 no es igual a vacío, entonces voy a copiar el pegado, luego voy a pegar la macro que copié, luego la carga del producto está bien, guardemos nuestro trabajo, así que ahora si el usuario realiza un cambio en e5 y me aseguro de que es e5 no está vacío, no se borra y b4 es falso y b5 no es igual a vacío, entonces la carga del producto está bien, es perfecto, echemos un vistazo a eso ahora, cuando hago clic en manzanas verdes, se va a cargar, eso es exactamente lo que quiero cuando hago clic en naranja. se va a cargar perfecto, increíble, está bien, me alegro de haberlo conseguido, solo tenemos dos macros y les mostraré les mostraré otra forma cuando hagamos una actualización aquí les mostraré otra forma sin tener que hacer clic en guardar actualización, de acuerdo, solo un poco, concentrémonos en eliminar el producto ahora bien, ahora que tenemos eso funcionando, hay una última macro que tenemos que obtener para eliminar este producto, queremos poder eliminar un producto, así que sigamos adelante y escribamos esa macro ahora, básicamente, lo que debemos hacer es determinar si hay un producto fila basada en la identificación de este producto, asegurándonos de que tenemos una fila y luego todo lo que tenemos que hacer es ubicar la fila, eliminar la fila aquí y luego simplemente ejecutar la macro para agregar el producto, que luego borrará todo, así que sigamos adelante y escriba esa macro ahora de nuevo en las macros del producto vamos tenemos la carga hecha ahora hasta ahora hemos hecho guardar y actualizar hemos hecho agregar nuevo hemos hecho la carga y ahora solo nos queda eliminar, pero después que quiero mostrarte un truco realmente genial, así que no vayas a ningún lado todavía, está bien, concentrémonos en esto Ahora me voy a centrar en la eliminación ahora con productos de nuevo. Estamos enfocados en esta hoja de productos. Bien, pero ¿qué vamos a hacer primero? Como dije, debemos asegurarnos de que realmente tenemos una fila de productos sin una fila de productos . no podemos hacer nada, así que concentrémonos en eso si el rango de puntos b6 ahora esa es la fila basada en el valor de punto de id b6 es igual a vacío, entonces nada que podamos hacer cuadro de mensaje seleccione un producto correcto para eliminar informe al usuario salir sub nada que podamos hacer saliendo de allí bien, suponiendo que tenemos una fila de producto correcta, podemos asignarla a una variable , vamos a firmarla en esta fila de producto, la misma que hemos estado usando, así que hagámoslo, vamos para copiar y pegar esto aquí, vamos a pegarlo aquí abajo para que la fila del producto sea igual a b6, esa es la fila del producto, está bien, ¿qué queremos hacer ahora? Nos centraremos nuevamente en nuestra hoja de lista de productos. hoja queremos eliminar la fila, así que sigamos adelante y escribamos eso ahora para que el producto y luego und erscore list que es el rango de puntos del nombre de la hoja, luego tenemos la fila del producto y nuevamente los paréntesis se imprimen con dos puntos porque queremos la fila completa y luego y la fila del producto punto toda la fila punto eliminar está bien, eso elimina el control remoto que elimina todo lo demás, sabes que hay algo más que podrías quiero hacer, sigamos adelante y escribamos eso. Lo que quiero hacer es dar al usuario una advertencia. Tal vez no. Tal vez haga clic en el botón por accidente . una opción para salir, así que hagámoslo ahora si el cuadro de mensaje vamos a crear un cuadro de mensaje ¿está seguro de que desea eliminar este producto? no, es una pregunta de tipo sí o no. Voy a darle un título a esa ventana emergente. Lo llamaré eliminar producto y luego lo cerraremos . ampliemos esto un poco aquí observe que estamos en un si si el mensaje b buey, entonces estamos buscando una respuesta igual a vb no significa que hagan clic en el botón no que está aquí si hacen clic en el botón no entonces qué queremos hacer entonces salir de la derecha nada que no queramos hacer dándoles la opción de salir está bien ahora que hemos superado eso, de modo que si hacen clic en no salir del sub no continuarán hacia abajo suponiendo que continúen hacia abajo, entonces vamos a eliminar el rol pero también quiero agregar quiero para borrarlo para que podamos borrar el derecho existente una vez que eliminen este registro si hacen clic aquí queremos asegurarnos de que todo se borre bien, ya hemos escrito una macro que hará exactamente eso y se llama producto agregar nuevo así que todo lo que tenemos que hacer de nuevo es copiar esto y luego traerlo aquí abajo y eso lo traerá que lo pegará allí ahora lo hemos mostrado y también lo que quiero hacer es asegurarme de que lo eliminemos cualquier imagen de nuevo, así que en caso de que tengamos una imagen, podemos hacer eso , así que ya hemos código escrito para eso para eliminar la imagen y eso está en las imágenes del producto aquí, por lo que está aquí en el aire, por lo que podemos copiar este que va a eliminar la imagen nuevamente en eso y luego, por supuesto, podemos simplemente eliminarlo en el aire reanudar siguiente forma elimina la imagen del producto eso va a eliminar cualquier imagen que pueda mostrarse está bien, se ve muy bien voy a guardar que vamos a crear un producto completamente nuevo y luego lo vamos a eliminar, así que hagamos clic con el botón derecho firmar macro eliminar producto voy a hacer clic en agregar un producto voy a llamar a este producto de prueba voy a darle solo una imagen vamos a mantener todo lo demás fuera solo probar agregue una imagen aquí porque es rápido y es fácil asegurarse de que la imagen se elimine está bien, vamos a guardar ese producto, está bien, es el producto número tres, ahora voy a eliminar el producto, esta es la opción, ¿está seguro de que desea eliminar este producto? Sí , si hacemos clic en no, nada. va a pasar bien si cl ick, sí, va a eliminar el producto, lo va a borrar en la lista de productos, no más productos 3. perfecto, así es como me gusta, está bien, ahora tenemos eliminar el producto, pero aquí hay otra cosa que quiero hacer ahora nosotros sé que en realidad podemos si queremos hacer una actualización de esto, todo lo que tengo que hacer es simplemente hacer clic en guardar y actualizar, pero qué pasa si quiero hacer esto, qué pasa si solo quiero cambiar esto a 50 centavos y quiero hacer que se actualice automáticamente, en otras palabras, sin tener que hacer clic en Guardar y actualizar, esa es otra gran opción, ¿cómo lo hacemos bien? Básicamente, lo que quiero hacer es tomar cualquier valor que se cambie y quiero cambiar un valor específico. Quiero cambiarlo aquí mismo en esta compra. Centremos estas cosas aquí para que podamos verlas correctamente. Bueno, entonces quiero cambiar el precio de compra aquí en naranjas. ¿Cómo hago eso? ¿Cómo sé exactamente dónde cambiarlo? Si quiero. para cambiar el precio de venta, ¿cómo sé dónde cambiarlo? ce aquí bien de nuevo otra vez necesitamos tres cosas necesitamos el nombre de la hoja sabemos qué nombre de la hoja también necesitamos un número de fila sabemos qué número de fila porque se enumerará aquí, así que lo único que nos falta es el número de columna que necesito saber qué columna es y si miramos aquí nuevamente, esta es la columna 1 2 y así sucesivamente, así que si vamos aquí y hacemos un bucle para ver qué columnas, necesitamos saber qué columna si quiero cambiar la compra precio necesito saber que ese precio de compra está en la columna 4. si quiero cambiar el precio de venta necesito saber que ese precio de venta está en la columna cinco ¿cómo voy a saber eso? ¿cómo sé cuál? lo que puedo hacer es que podemos hacer un mapeo de datos inverso, es otro tipo de mapeo de datos y es mucho más fácil y nuevamente vamos a hacer lo mismo, voy a tomar una captura de pantalla aquí usando snagit y me permitirá tomar solo estoy de nuevo voy a usar quiero asegurarme de que las columnas estén bien quiero al menos los datos pero t él llama puede no ser importante, así que voy a tomar una captura de pantalla y eso me ayudará a mapear los datos de manera inversa voy a controlar ac voy a copiar eso y voy a volver en los productos y voy a mapear que voy a pegar eso aquí, está bien, ahora tengo una pequeña idea, así que sé que recuerdo que el número de columna es lo que necesitamos, todo lo demás que tenemos, pero ¿a dónde vamos? para poner la columna , necesito saber que si hago un cambio a las manzanas verdes, eso cambiará la columna 2 correctamente, así que pongámoslo aquí abajo solo por el momento, ¿qué pasa si quiero cambiar la fruta si quiero cambiar la fruta? o el tipo, debería decir tipo, será la columna 3. Si quiero cambiar el precio de compra, bueno, serán cuatro, si quiero cambiar el precio de venta, serán cinco y así sucesivamente , si quiero cambiar, continuemos. de nuevo, el proveedor será seis y la cantidad de pedido será, bajemos un poco esto, debería ser seis, no cinco, si x a la derecha y luego si, por supuesto, quiero cambiar la cantidad de pedido que será siete, vemos que los llamamos siete aquí y si la cantidad disponible quiero cambiarla a ocho y luego si quiero cambiar la ruta de la imagen es va a ser 9. está bien, ahora conozco la columna, pero si hago un cambio aquí, todo lo que necesito hacer vba es mirar la celda debajo y conocemos la columna y conocemos la columna, entonces conocemos el hoja sabemos la fila conocemos la columna sabemos exactamente en qué lugar escribamos un código basado en este centro de estos hace que se vea un poco más claro para que podamos ver exactamente la columna entonces les mostraré dos diferentes formas en que puede hacer esto bien, esta es la primera forma en que se basará en la llamada para que sepamos que sabemos exactamente que la celda a continuación contendrá ese número de columna ahora puede poner esto aquí y, por supuesto, esto se ve un poco feo pero si desea mantener estos aquí, simplemente puede cambiar la fuente nuevamente, cambiar la fuente y los mostraría y los ocultaría siempre y cuando estén bloqueados estaría bien esa es una forma de hacerlo esta es la forma en que vamos a empezar déjame mostrarte otra forma bien, así que tenemos la columna ahora tenemos todo lo que necesitamos tenemos la hoja tenemos la fila tenemos la columna estamos listos todo lo que tenemos que hacer es escribir un poco de código ahora ese código ¿qué vamos a hacer? haciendo un cambio cambiando cualquiera de estas celdas cuando el usuario hace un cambio en cualquiera de estos e7 a l7 correcto pero no en la carga del producto justo cuando en realidad lo estamos cargando no ese tipo de cambio cuando hago clic aquí ese es un tipo de cambio correcto ese no es el tipo de cambio que quiero solo quiero el cambio en el que el usuario va a hacer ese cambio para que podamos usar esta actualización del producto en verdadero o falso para ayudarnos a diferenciar entre esos ¿cómo lo hacemos bien podemos configurar esto actualización del producto para ir a verdadero cuando lo estamos cargando y falso cuando no lo estamos, así que escribamos eso co de ahora vamos a hacer que la actualización esté bien para que el producto elimine la carga del producto así que aquí está nuestra carga perfecta así que lo que voy a hacer es escribir un poco de código que pone b4 en verdadero y luego estamos va a volver a falso rango de punto derecho b 4 es igual a verdadero y le mostraré cómo eso nos ayudará en un momento es igual a verdadero establecer la carga del producto en verdadero o actualizar el producto cualquiera de los dos está bien entonces lo que voy a hacer De nuevo, sucederá antes de que la macro finalice. Bien, simplemente la devolveremos, de esta manera podemos hacerlo aquí . Ahora, la cambiaremos de nuevo a falso, está bien, y luego a falso porque hay dos tipos diferentes de eventos de cambio . bien, hay dos que quiero cuando un usuario hace un cambio. Básicamente, no quiero diferenciar entre dos tipos de cambio. Hay un cambio aquí. Observe el cambio a naranja. Note que cambió a manzanas. este ese es otro tipo de cambio este tipo de cambio es el único tipo de cambio en el que De hecho, quiero actualizar esta base de datos aquí, esta lista aquí, así que necesito diferenciar entre esos dos tipos de cambio, entonces, ¿cómo lo hacemos bien de nuevo? muy rápido es demasiado rápido para verlo pero va de verdadero a falso y de regreso a verdadero cuando lo cargamos pero está bien no importa si es rápido así que ahora lo que vamos a hacer es enfocarnos en el cambio, así que volveré a mi hoja de producto aquí y nuevamente nos centraremos en el cambio de la hoja de trabajo cuando el usuario realiza un cambio, así que en eso nos vamos a centrar, pero ahora vamos a usar un cambio basado en un tipo diferente de rango de celdas, ¿cuál es el rango de celdas que comienza con e7 hasta l11 e7, por lo que cualquier tipo de cambio entre e7 y l11 es en lo que quiero centrarme, así que vamos a comenzar con eso? así que voy a soltarlo aquí, todavía estamos en el cambio de la hoja de trabajo, así que nuevamente, si no está bien, puedo copiar esto porque estamos enfocados en otra vez, cambie el enfoque en esto esta vez es e7 a través de l11 nuevamente, por lo que si generalmente hay algún cambio y no solo eso, pero quiero asegurarme, por supuesto, de que b4 es igual a false right b4 es igual a false que diferencia entre esos dos tipos de cambios y rango b para el valor del punto es igual a falso, está bien, ese es un tipo de cambio, ese es el otro tipo de cambio, así que queremos asegurarnos de que podemos diferenciar entre esos dos tipos de cambios, muy, muy importante, está bien, entonces sabemos que eso es falso y podemos continuar, siempre que lo haya hecho, también queremos asegurarnos de que b6 no sea igual a vacío, debemos tener una fila correcta, debemos asegurarnos de que necesitamos la fila, así que no necesitamos asegurarnos de que por alguna razón b6 por qué b6 estaría vacío b6 estará vacío cuando estemos en un nuevo producto si agrego un producto déjame déjame comentar eso antes hasta que no termine comentemos esto va a crear un error hasta que terminemos esa línea de código que está bien si hacemos clic agregue un aviso de producto correcto si hago un cambio aquí, no sabemos qué fila es porque es un producto nuevo, por lo tanto, mientras b6 esté vacío, no necesitamos continuar con este tipo de código, así que queremos asegurarnos de que b6 debe contener un valor para que podamos continuar, así que esa es la otra opción para que podamos descomentar esto ahora y ahora digo falso y el rango b6 debe contener un valor b6 punto valor no es igual a vacío entonces podemos hacer lo que queremos hacer entonces podemos hacer que la actualización esté bien otra vez mencioné que necesitamos tres cosas para hacer esa actualización necesitamos la columna necesitamos la hoja y necesitamos la fila esas son las tres cosas si tenemos esas tres cosas que podemos hacer la actualización conocemos la fila, así que definamos la fila, dimensionemos la fila del producto y dimensionemos la columna del producto, así que hagámoslo dentro del código, dimensionemos la fila del producto tanto como sea posible y luego también con la columna del producto. ahora que tenemos ambos ahora podemos definirlos y p Póngalos en variables que están en las variables, así que digamos que los pongamos en los valores en la fila del producto, sabemos que es igual al rango, ahora no necesitamos el punto porque en realidad estamos en la hoja, así que no lo necesitamos. para especificar la hoja porque en realidad estamos escribiendo código en el producto, así que podemos ir, no necesitamos especificar ninguna hoja, si necesito especificar otra hoja, entonces necesito poner eso allí, así que ¿dónde está nuestro producto sin procesar? low está ubicado, por supuesto , en b6, así que escribamos que en la fila de producto de valor de punto b6, ¿de acuerdo? Ahora, ¿qué pasa con la columna de producto ? cierto, está ubicado aquí, de hecho, borramos el contenido, deshagámonos de eso cuando agregamos algo nuevo, lo que quiero hacer es notar que se borraron, no queremos eso, así que actualicemos el código, déjame poner esto en el nombre del producto, ¿por qué sucedió eso, dos, está bien? comentemos esto no lo necesitamos todavía comentemos esto nos enfocaremos en eso en un momento reinicie esto está bien así que honra cuando agregamos nuevo borramos todos los campos cuando agregamos nuevo pero queremos especificar solo esos campos a la derecha solo estos campos, por lo que vamos a actualizar el nuevo código para agregar, simplemente reescribamos esos tres, por supuesto, y luego cuatro y cinco, está bien, así que ahora los recuperamos, volvamos a Agregar nuevo y luego macros de productos aquí, observe en el agregue nuevo aquí nosotros en lugar de hicimos todo e5 a once qué pasa si cambiamos eso qué pasa si cambiamos eso a e5 e7 y e9 y luego e11 está bien así que otra vez 5 7 9 11. perfecto y luego el siguiente todos estamos lo que vamos a hacer aquí es h 5 7 9 11 está bien, así que es perfecto, así que sigamos adelante y actualicemos h5 en lugar de 11 h7 h 9 y h11 está bien k11 perfecto, así que ahora, cuando ejecutemos eso, agregue nuevo, no va a borrar estos valores porque los estamos usando en este momento, así que no queremos que se eliminen, así que sigamos adelante y guardemos nuestro código, ejecútelo un Vuelva a verificar que queremos mantener esos números aquí por ahora y luego le mostraremos otra forma en que podemos hacerlo, así que haga clic en Agregar producto . dentro de nuestro evento de cambio aquí debajo de los productos, está bien, entonces continuamos en la columna del producto donde la columna del producto está exactamente una celda hacia abajo una celda hacia abajo, entonces, ¿cómo hacemos eso ? exactamente las celdas de destino se compensan ¿qué estamos compensando ? Estamos compensando el desplazamiento de la fila. Es una fila debajo, por lo que es una . arriba, sería negativo, está bien, entonces, ¿cuál es el valor de eso? Entonces, el valor de eso es nuestra columna de productos . Entonces, definimos nuestra columna de productos como exactamente una fila debajo. Ahora tenemos la fila del producto . Ahora tenemos el producto individual. columna ahora todo lo que tenemos que hacer es escriba el código para hacer la actualización y es muy, muy simple, así que escribamos eso ahora nuevamente, nos centraremos en la lista de productos, por lo que la lista de productos puntea las celdas nuevamente, estamos usando celdas porque tanto la fila como la columna indexan producto fila producto columna que hemos definido esos valores de puntos es igual al valor de punto de destino el cambio que hizo el usuario eso es genial echemos un vistazo a eso y veamos cómo funciona bien así que sigamos adelante y cambiemos esto a manzana verde eche un vistazo a esa lista de productos ahora dice manzana verde me gusta hagamos otro cambio cambiémoslo a un dólar el precio subió así que no cambiamos el dólar y ahora dice un dólar perfecto pero hay un pequeño cambio mira cuando dice si yo haga un cambio en e7 también quiero que cambie aquí, así que escribamos un código que diga si el cambio que hacemos es en e7, luego también actualice el producto seleccionado para que podamos escribir eso en el código, así que nuevamente todo lo que tengo que hacer es prácticamente solo copie esto aquí y luego saque t el rango, así que si estamos haciendo cambios, pero en este caso solo e7, solo e7 no es nada correcto y quiero asegurarme de que el valor objetivo no esté vacío, nada y el rango del valor en realidad podríamos hacerlo, podríamos hacer el rango probablemente e7 e7 valores objetivo probablemente funciona el valor del punto e7 no es igual a vacío, quiere asegurarse de que no esté vacío , entonces, ¿qué quiero hacer bien ? queremos que se cargue automáticamente, por lo que ese tipo de cambio debemos asegurarnos de que el tipo de cambio que estamos cambiando aquí no se cargue automáticamente y, para hacerlo, todo lo que debemos hacer es cambiar b4 a verdadero y luego cámbielo de nuevo a falso antes de actualizar eso, así que hagámoslo ahora mismo, entonces el rango b para el valor del punto es igual a verdadero, entonces podemos hacer la actualización y qué rango de actualización nuevamente e5 ahí es donde nuestra lista desplegable es e5 punto valor es igual a rango e7 valor siete puntos actualización de valor y vamos a ca Todo esto actualiza el nombre del producto y luego, por supuesto, tenemos que cambiar b4 de nuevo a falso, eso es importante, así que tome eso como falso, de acuerdo, establezca la actualización del producto de nuevo en falso , así que ahora, digamos que cambio esto de nuevo a Apple aquí, ahora se actualiza automáticamente. en la lista, fíjate que se actualizó automáticamente genial, eso es realmente perfecto, quería mostrarte otro realmente genial, así que solo tenemos que decidir qué pasa si dices que no quieres los números aquí, qué pasa si no los quieres No los quiero ocultos, ¿no? Simplemente no quieres los números aquí. ¿Cómo podemos encontrar otra forma de hacer esa actualización donde no están aquí? También podemos colocar estos números en otro lugar, ¿dónde más podemos jugarlos bien? podemos ponerlos prácticamente en cualquier parte de la hoja, pero hagámoslo fácil para nosotros, colóquelos a la derecha, colóquelos aquí y tal vez lo que podemos hacer es simplemente ocultar esta área, colocar la columna, entonces, ¿cómo hacemos eso? Bueno, todo lo que necesito es saber de nuevo. Necesito saber cuál es la columna. y necesito saber qué tan lejos está bien, así que si sé qué columna es esta, esta es la columna 5 derecha, así que digamos que quiero ponerlas exactamente 10 columnas a la derecha, así que movámoslo aquí, 10 columnas serían 15 derechas 15 Entonces , digamos que tomo todo esto y lo copio y luego, en el aviso de fila, lo quiero en el 15 a la derecha , quiero un 15 a partir de las cinco, lo que significa que este producto estaría en el 14 a la derecha, así que voy a poner exactamente 10 columnas más, así que voy a hacer clic con el botón derecho, voy a pegar los valores, se ve un poco extraño, ahora te preguntas qué se supone que debo hacer con eso y te lo mostraré aquí en solo un momento, así que voy a hacer doble clic aquí solo para que se sepa y, en lugar de, aquí está la idea, así que en lugar del nombre del producto, lo que voy a hacer es poner la columna aquí , lo sabemos. el nombre del producto es manzanas verdes está en la columna 2 a la derecha para que podamos deshacernos de este 2. también sabemos que la fruta no se llama el tipo está en la columna 3 a la derecha que es fruta para que podamos elimine eso, así que básicamente la idea es mirar cuando hago un cambio aquí , voy a mirar a la derecha exactamente diez columnas, esta es la columna cinco, se llama 15, así que voy a mirar en la misma fila, digamos fila 7 voy a mirar voy a mirar lo que sea que cambiemos voy a mirar exactamente 10 columnas sobre la columna de avisos 15. y en esa columna en la misma fila en 10 columnas encima está el número 2. entonces puedo Mire eso y puedo definir la columna del producto en base a exactamente diez columnas, así que esto es dos, el precio de compra correcto es cuatro, así que pongamos cuatro y aclaremos que también necesitamos saber la primera ronda, esto es seis y el cantidad reordenada que va a ser siete, está bien, podemos poner las ventas en la columna cinco, a la derecha, notamos que tenemos las columnas aquí, así que notamos lo que están aquí y, por supuesto, la cantidad disponible es ocho, así que pongamos eso aquí cantidad ocho a la derecha y también necesitamos saber este valor aquí cuál es la ruta del archivo que va a estar en columna nueve a la derecha así que aquí va a ser ocho y nueve a la derecha así que esto se va a notar que es 8 y luego este es 9. así que en lugar de eso voy a poner la columna 9 si lo miramos de nuevo tomemos un mire, esto es igual a la columna, esto está en la columna 21. Entonces, esto está en la columna 11. Así que sabemos exactamente 10 columnas más, vamos a encontrar ese 8, así que cuando haga un cambio en este valor, aquí voy. para mirar exactamente 10 columnas, voy a encontrar el 8 y voy a saber exactamente en qué columna colocarlo, es decir, la cantidad se colocará dentro de esta columna aquí y en la imagen, las rutas se pueden colocar en la columna nueve para que sepamos exactamente para que podamos eso es todo para que tengamos dos tres cuatro cinco seis siete ocho y nueve para que tengamos todas nuestras columnas así que estamos listos para continuar con eso para que podamos eliminar mantengamos eso abierto por ahora Entonces, ¿cómo definimos esa columna dentro del código? La hemos definido aquí. La columna del producto básicamente compensa una fila hacia abajo, pero ¿y si comento eso ? fuera y ahora, ¿qué pasa si realmente puedo copiar y pegar eso y luego voy a pegarlo ligeramente diferente, así que ahora la columna del producto está en la misma fila, por lo que no hay una fila hacia arriba pero no uno que está en la misma fila pero son exactamente 10 columnas a la derecha, así que si cambiamos esto a 10 , nuestra columna de producto es el desplazamiento 10 columnas a la derecha 10 columnas muy bien, así que si cambio esto de nuevo a 75 centavos, ahora debería actualizarse automáticamente en el precio de compra así que si miro el precio de compra, vemos que está actualizado ahora a 75 centavos para la manzana verde, así que si lo cambio a 150, cambia automáticamente a 150, así que funciona, funciona muy bien, funciona para que las columnas de las filas se muestren directamente abajo y fuera, así que ahora lo que podemos hacer es limpiarlo, limpiarlo aquí, no necesitamos estos, los guardaré ahora, los guardaré aquí para fines de capacitación, pero voy a borrar esto. fuera, así que ya no necesitamos esto, lo entenderá y podemos eliminarlo, así que límpielo a l Un poco podemos terminar con esto, por supuesto, podemos ocultar estas filas, podemos hacer lo que queramos, podemos colorearlas de manera diferente, hay algunas formas de evitar algunos errores . un aire y por qué es eso bueno porque está buscando una fila de productos correcto está tratando de buscar no hay columna de producto por qué no hay columna de producto porque no hay si miramos aquí no hay columna de producto aquí es donde muchos de ustedes se topan errores en esto cuando estamos mapeando datos, acabamos de hacer un cambio en esta celda aquí, pero si miramos a la derecha 10 no hay ninguna columna aquí, entonces, ¿cómo podemos prevenir ese error? que hay un número allí, así que escribamos un código para hacer eso antes de hacer esa actualización, así que vamos a verificarlo dos veces y asegurarnos de que lo tenemos, así que si hacemos esto, si podemos hacerlo, podemos hacerlo aquí abajo si es numérico queremos asegurarnos de que el producto co lumn es una columna de producto numérico, está bien, en este caso es igual a verdadero, luego continúe, pero también quiero asegurarme de que realmente tenemos un valor aquí, así que asegurémonos de eso porque quiero asegurarme de que realmente hay contenido en la celda que es 10 columnas a la derecha para que podamos escribir eso aquí en caso de que haga esto y luego queremos que haga esta actualización aquí esta es la actualización que quiero hacer aquí aquí el valor objetivo, así que vamos a escribir eso aquí esas dos cosas, así que voy a poner esto aquí, no solo necesito si es numérico correcto y quiero asegurarme de que contiene una columna de producto de valor que no sea igual a cero, está bien, queremos asegurarnos de que entonces y solo entonces deberíamos escribir eso bien, entonces quiero continuar, así que arrastramos todo esto aquí y nos aseguramos de que contenga un valor ahora lo tenemos bien, así que ahora echemos un vistazo a eso y veamos cómo va. funciona para nosotros restablecerlo ahora hacemos un cambio aquí ahora mismo no crea un aviso de error t aquí no se crea ningún error cuando hacemos un cambio aquí, funciona automáticamente bien, así que ahora que hemos evitado errores para asegurarnos de que realmente tenemos un número de columna aquí o tenemos un número de columna aquí debajo de cualquiera de los dos, debemos asegurarnos de que lo tenemos, así que usar es numérico asegura que tenemos un número y asegura que no esté vacío, no cero , eso se ocupa de eso, está bien, excelente precio de compra, vemos que ahora está actualizado a 75 centavos por manzana verde, así que si lo cambio a 150 es cambiado automáticamente basado en 150. así que funciona , funciona muy bien, funciona tanto para que las columnas de las filas se muestren directamente debajo como para alejarlas, así que ahora lo que podemos hacer es simplemente borrarlo, limpiémoslo aquí, no necesitamos estos Los mantendré ahora , los mantendré aquí para usted con fines de capacitación, pero voy a borrar esto para que no lo necesitemos más, lo entiende y podemos eliminarlo, así que límpielo un poco. traer esto por supuesto podemos ocultar estas filas podemos hacer lo que queramos podemos colorearlos de manera diferente, así es exactamente como ahora actualizamos y mapeamos los datos en consecuencia, ambos en función de si realmente estamos haciendo un cambio, estamos haciendo clic en guardar o actualizar y también estamos mostrando cómo podemos hacer las columnas a continuación o colóquelos completamente a la derecha para que sea un mapeo de datos que es un mapeo de datos inverso ahora, en cualquier cambio, actualizamos automáticamente los datos, está bien, le hemos mostrado mucho en esta clase magistral de mapeo de datos realmente épica, hemos aprendido cómo mapear datos cuando lo estamos guardando para asignarlo a nuestra base de datos, también hemos aprendido cómo traerlo de vuelta cuando estamos cargando datos, cómo traerlo de vuelta al área de productos y también hemos aprendido cómo hacerlo cuando queremos hacer cambios cómo hacemos que esos cambios se guarden automáticamente en nuestra base de datos nuestra lista de productos ha sido un entrenamiento épico espero que aprecies esto todo lo que te pido que hagas es simplemente suscribirte a mi canal haz clic en el enlace de suscripción a continuación y no lo hagas No te olvides de hacer clic en la notificación . campanas de iconos de cationes y, por supuesto, si te gustan estos entrenamientos, recoger el archivo del libro de trabajo 175 realmente nos ayudaría mucho, mantendrá estos entrenamientos gratuitos para ti todas y cada una de las semanas. Me aseguraré de hacértelos llegar. Muchas gracias. y nos vemos la próxima semana