Transcripciones
1. 1.1. Introducción al curso: Hola. Yo estoy dibujado. Gamble on Bienvenido a hiper diferente Regulado X l e d
a. sé que estás pensando que no miro. ¿ De qué trata? Bueno, déjame explicarte. Llevo mucho tiempo ejecutando Excel deviate courses on me parece que si alguien hace programación regularmente programación Web sp .net,
lo que sea, lo que sea, entonces BB a cae en su lugar en el Atlántico. Muy insolente. Pero esas personas siguen siendo gente de Lee Excel, y no haces mucha programación de peso. Encuentra mucho más difícil mantenerse en la cima de B B A y cómo selecciona. Incluso he encontrado que la gente a menudo después de tratar, entrenados si no habían hecho programa desde hace mucho tiempo, empiezan a olvidar lo incluso lo básico. Entonces la idea de este curso es instalar que los usuarios de Excel entiendan completamente el BB, un código que escribir Andrea es una serie de técnicas en su curso para asegurarse de que esto suceda. Una de las cosas clave que hacemos en este curso es escribir el código de tal manera que quede súper claro lo que necesita cada línea de código en Esto es lo que quiero decir por forma de bombo, rojizo y regulación. No solo escribas el mínimo desnudo para asegurarte, porque funciona que no intentamos deliberadamente hacer que cada código de tiempo sea claro y
autoexplicativo . Es posible que las cosas a menudo significa que terminas escribiendo líneas de código más largas que deben ser programa
gay. Es, pero el beneficio es que es mucho más fácil ver la función de estos cables macro encendido. Esto se vuelve particularmente útil programa BB ocho y no es necesariamente algo que podrías regularmente. Entonces qué curso bien, el curso abarcará todos los elementos básicos con los que típicamente trabajas. Cuando Postmates X arriba. Empezaremos con cosas excelentes. Esto se revierte, el objeto de aplicación. Escribiré en código, que obtiene información de Excel, tal versión se está utilizando sobre si los usuarios en un PC o un Mac miran la forma correcta de cambiar los segundos excel de un usuario cuando lo necesite, y luego cómo restaurar el valor original, así que manténgalos contentos. Después pasaremos a mirar arma con archivos y obras. Obviamente, cuando trabajo con su ropa, es solo un archivo, y luego lo abres se convierte en un libro de trabajo, por lo que aprenderemos a crear y eliminar archivos y carpetas cómo procesar toda la violencia en un carpeta dada. Y luego hablaremos de abrir en la creación y eliminación de libros de trabajo. Cómo comprobar si un libro de trabajo está abierto sobre cómo comprobar si existe un pastel local en ubicaciones
inesperadas. Los niveles descienden en hojas de trabajo, las
crearon, eliminarlas, copiarlas, moverlas también han discutido las formas más eficientes de referirse a las hojas de trabajo, y también muy finas para hoja de cálculo existe antes de intentar hacer algo con él. También veremos el contraste entre hojas de trabajo y hojas de gráficos. Tienen bastante en común tareas separadas en un cuaderno de trabajo, y también forman parte de lo que se llama la colección de hojas. Por lo que hablaremos de cuándo debes procesarlos por separado y cuándo debes
procesarlos juntos también discutirán el contraste entre los versos de despensas independientes locas en Betty Charge. Y, por
supuesto, tendremos mucha práctica en trabajar con Star Rangds. El Homing in en días específicos organiza rangos de copia y datos entre hojas de trabajo, modificando los valores en celdas y, por
supuesto, introduciendo fórmulas mismas. Usando 58. También asegúrate de obtener mucha práctica en el reconocimiento de frío, y es muy importante, por
supuesto, viene con una plantilla de reconocimiento de código. Basaste tu código en las plantillas y luego solo pasas línea por línea. Controlan que usted entiende lo que cada línea de código. Entonces si buscas un excel Phoebe A se enfría, que no sólo te pide aprender cosas. Moda tarifaria que te da la oportunidad de abrir realmente la codificación correcta y saber exactamente lo que está haciendo entonces. Hyper dish y gama de video en Excel BB A. Programarlo si exactamente el curso que estás buscando.
2. 1.2. Descripción vista general de Excel VBA: en este curso estará cubriendo todos los conceptos básicos que necesitarás para empezar realmente bien en tu propio Mac Rose y se enfocará en todos los componentes que necesitarás para
iniciarlo programándolo . Entonces, solo echemos un vistazo a cuáles son algunos de estos componentes. Entonces, en primer lugar, tenemos el modelo Excel Object. Esto, básicamente es el equivalente programático fuera de la interfaz de Excel. Por lo que la parte superior del árbol que tenemos sobresalen en sí mismo. Contamos con cuadernos
de trabajo, cuaderno ,
hojas, etcétera con el fin de programar en V. B. A. Necesitas entender este objeto mortal obviamente lo estará pasando con gran detalle. V. B. A sí mismo proporciona una cierta cantidad del código que tienes razón Teoh crea tus aplicaciones y así también se estará centrando en la sintaxis que se utiliza, la cual se pone a disposición por el propio visual basic. Entonces, para empezar, comenzaremos haciendo visible esta pestaña de desarrollador. Y luego miramos la grabadora de macros, cómo grabar tu propio Mac Rose y luego no haber grabado una macro lo verá entrando editor básico individual
visual y en realidad modificando tu código
3. 1.3. La pestaña de desarrollador: Al igual que con todas las áreas fuera como tú, toma celular las características relacionadas con la B A R. Todo dispuestas en la misma pestaña. Este es el tema general en todos los programas de Microsoft Office en Home Tab. Tenemos todas las características populares que utiliza 10 para requerir con frecuencia en el diseño de página. Tenemos todo lo relacionado con la preparación de un documento para su impresión. A la vista. Tenemos todas las opciones relacionadas con los documentos de corazón un mostrado en pantalla y así sucesivamente. Por lo que hay una pestaña especial llamada Developer Tab, que se utiliza para todo lo relacionado con VB, una rosa de Mac. No obstante, a diferencia de las otras pestañas, la pestaña de desarrollador no se muestra inicialmente cuando Excel está instalado para hacerlo visible, simplemente
tienes que ir al menú de archivos en sus opciones. Ben. Aquí verás una serie de opciones de Excel dispuestas en categorías que se muestran a la izquierda. Tienes que ir a la categoría de personalizar cinta, y luego aquí en el lado derecho, verás una sección etiquetada Pestañas Principales. Y en la parte inferior tenemos Developer, que es objeto simplemente haciendo clic en el cuadro de pista para activarlo. Cuando te veas bien, tendremos una pestaña extra al final del río llamada Desarrollador. La mayoría de las opciones de esta ficha relacionadas con V. B A. Aquí
hay una sección al final, que se relaciona con trabajar con XML. Y luego hay otra sección aquí por trabajar con la de Adan. Pero las opciones en el grupo de códigos y en el grupo de control están todas relacionadas con V B A. Así que, por ejemplo, si hacemos clic en el primer Laker etiquetado Visual Basic, este lanzamiento es lo que se llama el editor visual basic. Déjenme cerrar eso para salir de ella. Y luego aquí nos dieron las macros ya grabadas al hacer click veremos una lista de todas las macros que podemos dejar ejecutarlas. Y de nuevo, aquí podemos hacer click para grabar una macro, y aquí podemos hacer click para especificar nuestra configuración de seguridad de macro. Por lo que estaremos discutiendo todas estas características en los próximos videos. Pero ese es el paso uno, haciendo visible la pestaña del desarrollador para que puedas acceder a todos los sobresalientes hit VB, una características
4. 1.4. Seguridad de macro: cualquier formato de archivo, que admita ejecutar código herbal, presenta un riesgo de seguridad. Los cuadernos de Usuarios y Excel, que contenían Mac Rose, entran en esta categoría. Por esta razón, siempre que abra un archivo que contenga una macro, Excel mostrará inicialmente una advertencia de seguridad. No obstante, como desarrollador, querrás poder apagar esta opción cuando trabajes con tus propios proyectos. Echemos un vistazo a cómo se hace esto. Entrémonos a la carpeta de entrenamiento y dentro de 01 empezar. No tengamos cero para la seguridad macro. Te darás cuenta de que tiene la extensión de archivo dot XLs em en contraposición a dot XLs X, que es la extensión de archivo normal para los archivos de Excel. Y esto indica que o ya contiene una macro, o al menos tiene el potencial de macros de contención. Al hacer doble clic para abrirlo, Excel muestra una advertencia de seguridad indicando que Macron ha sido deshabilitado y me toca a mí determinar si quiero anular eso y habilitar el contenido en este archivo. Puedo dar fe del hecho de que no hay código malicioso dentro de nuestra carpeta de capacitación,
Entonces, ¿cómo podemos decirle a Excel que no muestre mensajes cuando abrimos archivos dentro de esa carpeta. Por el momento, cerremos el archivo y luego en la pestaña de desarrollador del lado izquierdo, verás que tenemos la opción. Seguridad macro. Cuando hacemos clic en esto, esto trae sobresale. Configuración del centro de confianza. Estos ajustes no están aislados. Simplemente forman parte de sobresalientes. Opciones normales de Excel. Hacer clic en la seguridad de macros en la pestaña de desarrollador es la forma más rápida de llegar a la
configuración del centro de confianza . Pero déjenme mostrarles el otro camino si repasamos el expediente y las opciones. Aquí es donde tenemos todos los ajustes estándar sobresale. Y para llegar a la configuración del centro de confianza, hacemos click en
el Centro de confianza, la última categoría a la izquierda y luego a la derecha, este botón configuración del centro de confianza trae hacia arriba la ventana el diálogo que estábamos viendo hace apenas un momento para que puedas acceder a la configuración utilizando el método que resulte ser el más conveniente para ti en la configuración del centro de confianza. Lo más sencillo que puedes hacer, tal vez, es habilitar todo el Mac rose. Pero como puedes ver aquí, esto no es recomendable porque entonces no tienes ninguna protección en absoluto. Excel nunca te avisará cuando abras un archivo que contenga una macro. Entonces, lo que es mejor es usar esta característica de la izquierda aquí llamada Ubicaciones de confianza. Cuando hacemos click en esto, tenemos el dedo del pie de la instalación. Agrega tantas ubicaciones como queramos, así que voy a sumar nuestro pliegue de capacitación en ubicación. En mi caso, eso está en el escritorio a nuestras ubicaciones de confianza. Para ello, haga clic en agregar nueva ubicación y luego presione el botón de navegación y navegue hasta la
ubicación requerida . Por lo que me desplazaré hacia abajo hasta el XLV, ser una carpeta de nivel uno y luego hacer doble clic para abrirlo. Después haga clic en Aceptar antes de hacer clic. OK para confirmar esta adición, es muy útil encender la opción. También se confía en las subcarpetas de esta ubicación. Por lo que todo dentro de la carpeta especificada y todas sus subcarpetas ahora se pueden abrir sin que Excel muestre a los guardabosques de seguridad. Entonces ahora hacemos clic en Aceptar, y aquí podemos ver el nuevo artículo agregado a nuestras ubicaciones de confianza, y voy a dar clic en Aceptar, Ken y la tercera vez en terminar. Pongámoslo a prueba para que abro ese mismo archivo en 01 iniciando. Estoy abriendo cero para macro seguridad. Hola, Grant Gamble, por favor para conocerte. Soy un riesgo de seguridad y R V B. Se ejecuta
un código y siempre y cuando tenga altavoces encendidos. ¿ Tienes tu volumen subido? Debiste haber escuchado un mensaje que simplemente dice hola. Seguido de tu nombre de usuario seguido de soy un riesgo de seguridad. Y si entro en desarrollador Tab, haga clic en visual Basic Aquí, se
puede ver el código que en realidad está haciendo esto. Si no ves este código,
por cierto, por cierto, simplemente haz doble clic en el icono marcado este cuaderno dentro de 04 Macro de seguridad. Y este es un ejemplo de código que se ejecuta automáticamente cuando se abre un libro de trabajo. Y, por
supuesto, estaremos discutiendo estas técnicas a detalle durante el curso. Por el momento, sólo
voy a cerrar. Por lo que el propósito de este video es solo mostrarte cómo puedes decirle a excel que no muestre mensajes de
advertencia cuando estés trabajando con tus propios proyectos de VB a
5. 1.5. El editor de Visual Basic y explorador de proyectos: el editor visual basic es una mini aplicación, que está integrada en los principales productos de Microsoft Office. A diferencia de los propios productos, sin embargo, el editor visual basic no ha cambiado para muchos lanzamientos. Todavía tiene un aspecto bastante antiguo de la escuela para acceder al editor visual básico en la pestaña de
desarrollador, Haga clic en el botón visual básico al pasar el cursor sobre el botón. Excel también te recuerda el atajo de teclado, que es antiguo F 11. Como puedes ver, el editor visual básico no tiene cinta. En cambio, tiene los menús pre 2007, barras de
herramientas y ventanas flotantes. Empecemos simplemente cerrando todas estas ventanas flotantes. Entonces si lo estás siguiendo, simplemente cierra cualquier ventana que tengas abierta. Y si piensas volver a Excel 2003 ¿dónde viven las ventanas flotantes y las barras de herramientas? Viven bajo el menú de vista solo para obtener una vista. Ya verás aquí tenemos dos barras, y aquí tenemos todas nuestras ventanas flotantes. El primer escaparate que debemos mirar es el Explorador de Proyectos. Esta es la ventana clave, que te da acceso a VB, un código. Un proyecto es básicamente un contenedor para VB, un código V B. Un básico visual para aplicaciones es el programa en lenguaje, cual se utiliza para automatizar la moto Result office suite, y podría ser colocado en varios diferentes ubicaciones. El Explorador de Proyectos te da acceso a todas esas ubicaciones.
6. 1.6. Objetos de Excel y código de evento: la primera ubicación en la que podría insertarse el código. Está en lo que convirtió objetos de Microsoft Excel y lo verás en cada proyecto. Esta carpeta siempre está ahí, y dentro de la carpeta verás iconos, que representan tanto el libro de trabajo como todas las hojas del libro. Entonces en este punto del tiempo, tengo, ah, libro que contiene una sola hoja. Si tuviera 10 hojas, tendría 10 iconos. Un ícono representaba cada hoja y para colocar código, que controla esa hoja o que controla el libro en su conjunto, simplemente
hago doble clic en el icono correspondiente. Entonces si hago doble clic en la hoja uno, aparece
una ventana de código. Y si hago doble clic en este libro, aparece
otra ventana de código debajo del menú de la ventana. Se muestran las diversas ventanas de código. Puedo elegir una ventana de código para llevarlo al frente. Si te has topado con el atajo, controla tad para cambiar entre todas las diferentes ventanas que tienes abiertas en Excel. Esto también funciona con ventanas de código en permite cambiar entre todo el código diferente Windows Best dio a conocer estos dos y baja por el momento. Doble controlado usó un atajo si te gusta usar ese código de método que se coloca dentro de los objetos de
Excel es lo que se llama código de evento. Es decir que el código se ejecuta automáticamente cuando un determinado evento tiene lugar dentro de ese objeto. Entonces en el caso de la Hoja uno, permítanme sólo hacer doble clic para que aparezca la hoja una ventana de código para escribir código basado en un evento. Voy a lo que se llama el menú desplegable del objeto, y aquí elijo el objeto en cuestión, que en este caso, es la hoja de trabajo. Esto hace que Excel cree automáticamente un sub procedimiento, algún procedimiento, simplemente un fragmento de código. Cualquier cosa que escriba entre las líneas de apertura y cierre del sub procedimiento se
ejecutará cuando se lleve a cabo el evento predeterminado. Y el evento predeterminado para las hojas de trabajo es siempre que se realiza la nueva selección. Entonces si cambias de celular a uno a vender, sé uno que activará cualquier código que se escriba dentro de este sub procedimiento, ese es el evento por defecto. Cualquiera que sea el lado derecho en el desplegable de procedimiento. Tenemos acceso a otros eventos contra los cuales podemos codificar para poder escribir código, cual se activará automáticamente cada vez que cualquiera de estos eventos se lleve a cabo dentro de una hoja de trabajo. Por el momento, solo
me voy a quedar con el sub procedimiento predeterminado, y voy a escribir una línea de código muy simple usando el cuadro de mensaje de función. Entonces aquí solo voy a escribir MSG Box. Ese es el nombre del espacio de funciones y luego poco tipo de mensaje. Desde el texto de los mensajes, necesita ir comillas dobles. Entonces aquí está mi mensaje. Entonces, en cualquier momento dentro de la hoja uno que cambie la selección se abrirá mi cuadro de mensajes. Ahora puedo cambiar de nuevo a excel. Y si hago clic en una nueva celda, arriba viene por mensaje molesto. Si vuelvo a usar las flechas de mi teclado porque esta elección sigue cambiando próximo mi mensaje. Vamos a Pressel 10 11 para volver a la ventana de código y eliminemos esta molesto pieza de código. Lo mismo se aplica al propio libro de trabajo. Cerremos la ventana de la hoja. Haga doble clic en este libro para abrir la ventana de código del libro de trabajo. Por lo que seguimos el mismo procedimiento desde el primer desplegable, el objeto cayó hacia abajo, que es el objeto que en este caso es el libro de trabajo y Excel crea los predeterminados de procedimiento. Esta vez, el evento predeterminado es la apertura del libro de trabajo. Digamos que nos interesa escribir algún código, que se ejecutará cada vez que alguien intente imprimir el libro. Entonces lo que hacemos esta vez es grande hasta el procedimiento abandonado a la derecha, y encontramos el procedimiento del evento de impresión. Te darás cuenta de que tiene un nombre especial. Es antes de imprimir en lugar de simplemente imprimir cada vez que ocurre la palabra anterior con un sub procedimiento. Esto indica que el evento en sí podría ser cancelado. Entonces aquí está nuestro nuevo sub procedimiento. Ya no necesitamos el abierto, así que sólo lo voy a destacar. Eliminado. Por lo que cualquier código que ingrese aquí se activará cada vez que el usuario intente imprimir el libro de trabajo. Te darás cuenta de que uso el término intento de, porque siempre que un sub procedimiento tenga la palabra antes, entonces, esto implica que en realidad se puede bloquear el evento. Puedes impedirles que hagan esa acción en particular. Por lo que este caso, podemos impedir que se impriman en el cuaderno de trabajo. Digamos que nuestra empresa tiene una política de solo imprimir en un documento cuando es absolutamente necesario, y en el caso de este documento, no se considera absolutamente necesario que esté impreso. Entonces queremos hacer dos cosas. Queremos mostrar un mensaje para decir. Este documento no está destinado a ser impreso guardando como un PDF en su lugar, y luego queremos bloquear el comando print. Por lo que en primer lugar, el mensaje se vea Cuadro de mensaje y Cuadro de misterio y luego entre comillas, todo simplemente ponga un mensaje rápido y luego para bloquear el comando de impresión. Utilizo este parámetro especial, que se llama Cancelar, y simplemente configuro cancel en true y eso evitará que el evento de impresión ocurra realmente . Entonces cancelar es igual a verdadero, y eso debería hacer el truco. Entonces vamos a probarlo. Voy a volver a Excel viejo F 11 si quieres usar el teclado. Y supongo que deberíamos poner algo en nuestra temporada de trabajo en el momento en que sea completamente negro. Entonces tiene algo dentro, y vamos a archivar a Prince. Cuando hago clic en el botón de impresión, arriba viene mi mensaje en el evento de impresión está bloqueado. Volvamos a visual basic y de nuevo, eliminemos nuestro código de ejemplo
7. 1.7. Escribe una macro en el VBE: así como colocar en código dentro de los objetos de Excel. También podrías crear Mac Rose en macros han colocado en un contenedor especial llamado módulo . Por lo que para crear un modelo, obtengo cuerpo de inserción. También puedo hacer clic derecho en el proyecto y elegir insertar modelo. De ahí y arriba viene otra ventana de código, que se relaciona con el módulo uno. Ciérralo para volver a subirlo. Simplemente hago doble clic sobre una. Por lo que has visto codificar ventanas. Hemos visto el producto explorar a la izquierda aquí en adelante. Entonces, cuando abres un objeto, tenemos una ventana de código, que nos permite colocar código. Dentro de ese objeto, vamos al menú de vista. Vamos a abrir la ventana de propiedades. Permítanme simplemente redimensionarlo para que podamos ver tanto las propiedades en el Explorador de Proyectos. Básicamente, esto te dará propiedades relacionadas con el objeto en el que haces clic. Entonces si hago click en la hoja uno, veo propiedades relacionadas con eso. Este cuaderno limón, hago clic en el módulo que es sólo una sola propiedad, que es el nombre del módulo. Entonces déjame simplemente enfriarlo. Hola Mundo y pulsa enter y eso cambia el nombre del módulo, por lo que la ventana de propiedades básicamente te permite cambiar las propiedades de lo que elijas. Es de uso más frecuente es cuando trabajas con formularios de usuario, y estas son ventanas de diálogo especiales, que puedes personalizar y donde puedes poner cosas como menús pop up. Casillas de verificación que no son diferentes a un formulario que podría crear en un sitio web. Entonces, cuando estás trabajando con formularios de usuario, utilizaba la ventana de propiedades todo el tiempo. Cuando estás trabajando con otros objetos, lo
usas con menos frecuencia. De acuerdo, entonces tenemos la ventana de código de Project Explorer en la ventana de propiedades y para crear una macro, que, si recuerdas, es lo que los modelos de cuatro módulos son el contenedor para Mac Rose. Para crear una macro, podemos simplemente escribirla o podríamos ir a insertar procedimiento, introducir nombre para nuestro macron, así que voy a volver a usar el mismo nombre. No se permite espacio para los nombres de macron, y luego el tipo será sub y el alcance será público. Se usan escenarios de cena privados donde se quiere tener un trozo de código que es utilizado por otros Mac Rose. Para crear una macro, crea un sub procedimiento público Lo que hacemos clic en Aceptar, Excel pone en el código necesario y obviamente podríamos simplemente tener escribir este código nosotros mismos. Entonces aquí vamos a volver a utilizar nuestro cuadro de mensajes y para ejecutar el código, simplemente
nos aseguramos de que el cursor esté en el subprocedimiento necesario y podemos hacer clic en el botón de ejecución que se muestra en la barra de herramientas principal. También puede ejecutar una macro desde el propio libro de trabajo en la pestaña del desarrollador. Da click en caminos traseros a la izquierda aquí, y luego verás una lista de todas tus filas traseras. Entonces hola, Mundo es el nombre del modelo dot y luego hola Mundo es también el nombre de la macro. Al hacer clic en correr, obtengo el mismo resultado.
8. 1.8. Usar la ventana inmediata: y sólo echemos un vistazo. En una ventana final, voy al menú de vista. Andi, sube la ventana inmediata. Se utiliza la ventana inmediata para ejecutar una línea de código. Si solo copio esta línea y pego en la ventana inmediata cuando presento
, ejecuta esa línea de código. También es muy bueno para la cocina. Excel para simplemente descubrir pequeños bits de código que podrías necesitar cuando tienes razón en Macron o cuando estás codificado en general. Entonces, por ejemplo, digamos que quiero usar un fondo Phil. Entonces quiero averiguar el código de color real que debo usar. Si quiero girar una celda que específica para consultar el exilio y devolver un resultado que
luego puedes usar, usa un signo de interrogación en la ventana inmediata. Andi, Obviamente, necesitarás conocer algo de V B A para saber de qué tipo, pero este es el propósito completo del curso, por lo que estarás aprendiendo mucho VB a medida que pasemos. Pero por el momento, sólo te diré el código que necesitas escribir, que estará activo Celular don interior no colorean y ellos. En mi presencia, obtengo un código de color, que luego puedo usar, Y si realmente quiero cambiar tu celular, solo
puedo copiar esa línea. Onda se igual a 192 Así que cualquiera que sea mi célula activa, cuando presentador, cambiará a ese color. Entonces si hago clic en esta celda aquí cuando se presentan, porque no hay duda Mark, ahora
va a ejecutar realmente esa línea de código. Ha sido como, volver a mi célula activa. Ha cambiado esa portada. El ventanilla inmediata tiene una serie de funciones. También se usa bastante depuración, por lo que seguiremos volviendo a ello a medida que avanzamos por el curso. Pero por el momento es mostrarte que podría usarse para ejecutar una sola línea de código, ya sea para descubrir elementos en los que podrías menús en tu código o simplemente para probar la
línea de código solo para verificar que en realidad está produciendo el resultado que necesitas. No puedo simplemente despejar esto y cerrarlo. Entonces esa fue la ventana inmediata. Entonces tenemos la ventana de código, y aquí tenemos el Explorador de proyectos y la Ventana Propiedades. Todos están disponibles bajo el menú de vista
9. 1.9. Guardar un libro de trabajo habilitado con Saving: cuando tu entidad básica individual notará que tienes un comando de libro esclavo, por lo que no hay forma de guardar el código como una entidad separada. El código es simplemente parte del libro de trabajo, y al hacer clic en Guardar, siempre
guardará el libro. En el caso de VB A. Recuerda que siempre debes especificar que tu libro de Excel esté habilitado para macro, por lo que lo estarás guardando como no Excel sm en lugar de Doc XLs. Gracias aparte de eso, es mucho negocio como de costumbre. Entonces solo voy a seguir adelante y guardar esto en mi escritorio. De acuerdo, así que ahí lo tienes. Esa es una rápida intro al editor visual básico, el B B E a diez centavos. No va a pasar por todas las características en este punto porque, medida que escribimos, nuestro código será encontrar en estas características en el contexto apropiado. Pero, como se puede ver tiene una interfaz ligeramente diferente a las aplicaciones de oficina modernas, y se puede simplemente pasar entre los dos entornos, ya sea por presidente todo 10 11 o haciendo clic en visual basic
10. 1.10. La forma correcta de usar el grabador macro: El grabador de sala trasera es una instalación construida muy útil, que permite generar código no escribiéndolo usted mismo sino simplemente iniciando una grabadora y realizando una serie de pasos como usted antes de los pasos. Excel genera el equivalente Phoebe un código para ti, aunque seas un programador experimentado. El grabador es una facilidad útil, pero lo que no es es un sustituto para escribir en código. El código generado por la macro grabadora se puede utilizar en tus soluciones, pero no como está, siempre
necesitas modificar el código para hacerlo más flexible y más adecuado a tus propias aplicaciones. En este video, nos enfocaremos en la mejor y más eficiente forma de usar la macro grabadora. La mayoría de libros y tutoriales te dirán que para usar la grabadora macro, simplemente
comienzas a grabar antes de la serie de pasos y luego dejaste de grabar. Este no es realmente un buen consejo para principiantes, porque cuando aprenderás en V B A. Lo que quieres decir con los interesados es entender cómo funciona el código. Y en el caso de Macros, qué pieza de código hace qué? Entonces mi recomendación es que mientras aprendes en B B, a Al usar la grabadora macro, deberías hacer uso de una instalación llamada comentario. Los comentarios son líneas herbales descriptivas no
ejecutadas, las cuales han encontrado en todos los lenguajes de programación, en las que solía explicar cómo funciona el código. Lo útil es que mientras grabas una macro, realidad
podrías insertar comentarios antes de ejecutarlos en cada paso. Esa es la técnica que vamos a utilizar en este ejemplo. Entonces comencemos por mirar el producto terminado en la carpeta de capacitación xLV Be a Level one . Y en la primera sub carpeta al comenzar, está abierta 10 Grabadora de macros terminada para que podamos ver la aplicación terminada que vamos a construir usando la grabadora de macros. Se trata de un ejemplo muy sencillo, que permite al usuario hacer clic en cualquier encabezado de columna y tener los datos ordenados por ese encabezado de
columna. También notarás que la columna por la que actualmente tenemos ordenados los datos está resaltada solo para enfatizar cómo se ordenan actualmente los datos. Y la forma en que funciona la solución es que hemos colocado una serie de botones invisibles
encima de los encabezados de las columnas. Si escribo mucho dinero, verás lo siguiente resalta por mí. También me da el menú click derecho para deshacerme del menú click derecho. Simplemente presiono escape, y tengo uno de estos en cada una de mis columnas, así que así es. Da click en el 2do 1 Press Escape. Te darás cuenta de que en cada caso, no
están llenos de. Esa es una gorra pequeña a la derecha de cada uno de los Buttner's. He hecho esto para que el usuario aún pueda entrar en datos y filtrar espiritualmente la mitad los trabajadores de botones
sucios Normalmente, mientras que si tuviéramos nuestros botones invisibles, cubrir toda la cabeza en el mecanismo de filtro no funcionaría correctamente y naturalmente. Lo que hemos hecho es adjuntar una macro a cada uno de estos fondos. Entonces cuando hago clic derecho, si miro una macro de signos, verás que se ha asignado una macro a cada uno de los fondos. Entonces así funcionará la solución terminada. Cerremos ahora este trato. No es necesario guardar y vamos a abrir la versión de inicio. Entonces en la carpeta de entrenamiento comienza la macro grabadora
número 10, y ese es exactamente el mismo archivo. Pero sin filas traseras y sin cirugía de montañas ocultas llamó una macro más débil a través del desarrollador y haga clic en el registro Makary. Pero Excel también tiene convenientemente un botón en la parte inferior izquierda, que puedes acceder que hace lo mismo que un cuadro de diálogo luego se muestran pero te pide un nombre para tu macro. Y no se permiten espacios en el nombre solo puedes usar caracteres alfanuméricos en
Guiones bajos. Entonces llamémoslo columna convertirse en ordenar. Y como ya he dicho, si encuentras los nombres difíciles de leer y lo prefieres, solo
puedes colocar un guión bajo como así solo para separar las palabras en este caso, voy a perder los guiones bajos en manga como así entonces especificas donde el se va a almacenar macro. Si es una macro importante que usarás muchas veces en muchos libros de trabajo, puedes guardarla en lo que se llama libro de macro personal, y luego será permanentemente accesible dentro de tu copia de Excel. En este ejemplo, sólo
queremos guardarlo en este libro de trabajo solamente. Entonces cuál es este cuaderno de trabajo, y luego haga clic en Aceptar, Y luego ,
como dije, lo que realmente queremos hacer es describir y doc evento cada uno de los pasos que se estaban realizando. Por lo que mi recomendación es antes de que hagas algo yendo al editor visual basic, ya sea por presidente todo 7 11 o haciendo click en el botón visual basic. Y aquí encontrarás que Excel ha creado un módulo. Señor, en la carpeta Modelos, verá que se creó el módulo uno. Déjame hacer doble clic en el módulo uno. Arriba viene la ventana de código. Podemos ver nuestro macron en blanco. Entonces ahí está el nombre que escribimos, y pone algunos comentarios. Como ya he dicho, un comentario es una línea herbaria de código no ejecutar. Está solo ahí para la referencia del programador y para cualquiera que esté mirando el código en V B. A los comentarios se crean simplemente iniciando la línea con un apóstrofo, lo que verás que todas estas líneas que han sido insertado automáticamente, comienza con un apóstrofo. Ya que no los necesitamos, podemos eliminarlos, y podemos poner en nuestro propio comentario. Entonces el primer paso al que vamos antes es ordenar los datos. Obviamente, este es un paso genérico, que se realizará independientemente del color en el que haga clic la persona. Durante este curso, me pondrán en todos mis comentarios en mayúsculas. Esa es puramente la convención que voy a estar usando para que los cometas destaquen. Al estar mirando este verde, se
puede ver de inmediato qué líneas de comentarios por el hecho de que todos están en mayúsculas. Entonces voy a ordenar a la ligera los datos. Ese es nuestro primer paso. Eso es todo. Ahora volvemos a excelente. Antes de ese paso, comprimimos todo el día cada nivel. Simplemente lo voy a hacer de esta manera lenta y pasar a través de la pestaña de datos. Dar clic en el botón de clasificación personalizado realmente no importa qué columna busqué porque este será el paso genérico. Muy bien con esto, pero elijo la primera columna, que es lo último que me gusta, OK y Excel antes es el tipo. No volvamos al código, y podemos ver el cud que Excel ha generado para ese paso. Entonces todas estas líneas de código se relacionan con el paso que acabo de realizar, que es ordenar mis datos. Lo siguiente que me gustaría hacer es resaltar la columna por la que actualmente se
ordenan los datos cambiando el relleno de fondo de ese llamarlo solo pero encuentra para hacer esto. Primero que nada tengo que quitar cualquier fondo existente, Phil. De lo contrario, a
medida que el usuario hace clic en diferentes columnas, todas las columnas eventualmente tendrán esa película de fondo. Por lo que el siguiente paso es quitar el fondo Phil de todas las celdas de datos. De nuevo, voy a poner un comentario en ese sentido. Entonces escribe un apóstrofe. Vivimos celdas de datos llenas de fondo por celdas de datos, por
supuesto. Es decir, todas las células excluyen en la cabeza en celdas, así que empezando de camino a así está bien. Podría dejar mi somero en esa posición. No necesito crear una nueva línea en blanco movida de nuevo a excel. Recuerda, todos a 11 si quieres usar un atajo y luego voy a seleccionar ALS los datos. Voy a hacer esto usando el teclado, así que impresionante control home, que me lleva a vender uno que podría presionar la flecha abajo para moverme a venderme también. Por lo que esos dos pasos controlan casa seguido de la flecha abajo bien garantizada que estoy en celda un dos. Esa es la primera celda de datos. Después para seleccionar todo el camino a la derecha, sostengo el control shift en presionar la flecha derecha y finalmente para seleccionar todo el camino hasta la parte inferior. Yo mantengo pulsado el cambio de control impresionó la flecha abajo. Ahora tengo datos antiguos autoseleccionados y para quitar el fondo. Phil. Simplemente voy a casa y los zapatos sienten color. No, Phil, pasemos al editor visual básico para ver el código que se ha generado. Por lo que ahí se puede ver Excel se ha reproducido fielmente en mis pasos, comenzando con un dos gastando todo el camino a la derecha, extendiéndose por el camino hasta el fondo y luego volando el fondo lleno. Especialmente encuentra el paso final que quiero grabar es aplicar un fondo Phil solo a la columna por la que actualmente nos ordenamos. Todo lo que realmente quiero hacer es generar algún código genérico, que puedo prestar personalizar para hacer inflexible porque siempre no sé cómo llamarlo , uh, usuarios van a dar click. lo que respecta a la grabación, voy a usar el pago de columna. Pero eso no es significativo. Podría usar cualquiera de las seis columnas que contienen datos, así que entra puede decir volar fondo, Phil para ordenar columna y luego finalmente volver a ella. Entonces y antes así voy a usar llamar A es mi tipo de servicios de grabación. Entonces de nuevo, solo
quiero las celdas de datos. Entonces voy a usar control home para ir a uno, presione la flecha abajo para ir a un a y esta vez solo necesito control shift down para seleccionar todo el camino hasta la parte inferior. Son como una cruz a casa y especifican la sensación de fondo que quiero usar. Entonces voy a usar ese acento muy azul claro y ese es mi paso final. Por lo que ahora puedo dejar de grabar ya sea usando este conveniente botón, que aparece cada vez que empezaste a grabar en la parte inferior izquierda. O, por
supuesto, también
puedo ir a la pestaña de desarrolladores y ahí van a dejar de grabar. Pero cuando vuelvo a visual basic, son las tres posibilidades de código que he generado que al insertar comentarios, es mucho más fácil ver qué bit de código hace qué. Entonces sólo ten eso en cuenta. Si estás usando la grabadora macro, asegúrate de que priety antes de que necesitemos paso, solo
vas a la ventana de código y pones un comentario después de haber grabado un
cuarto trasero . Después tendrás secciones bien etiquetadas que te dicen lo que hace cada bit de código. Entonces eso es todo por grabar la macro. No es utilizable. Esta una de las cosas de la macro grabadora. No genera códigos utilizables. Todavía tienes que modificar. Entonces este es solo el primer paso. En el siguiente video, veremos modificar el código que se ha grabado y generado para nosotros para que se vuelva más flexible.
11. 1.11. Analiza una macro grabado: habiendo grabado una macro, tu siguiente paso suele ser intentar y darle sentido a todas las líneas de código que la
grabadora de macros ha generado para ti en la carpeta de entrenamiento. 01 Iniciando. No es el número 11 analizando una macro grabada, y este cuaderno de trabajo simplemente contiene la macro, que grabé en el video anterior. Entonces cuando vayamos al desarrollador Visual Basic, si abres la carpeta Modelos, encontrarás el Módulo uno. Y cuando abras eso verás el código que se generó mientras grababa ese macron . Entonces en este ejemplo, queremos simplemente mirar estas líneas de código y pensar de nuevo a estos pasos que
realizamos para generar ese. Bonita forma de hacer esto es tener una pantalla dividida donde tenemos el código a la derecha en la calle
Work a la izquierda. Entonces voy a cerrar estas dos ventanas, el explorador de productos en la ventana de propiedades, para que mi ventana cubierta ocupe ahora todo el espacio disponible. Y luego voy a anclar mi ventana de código a la derecha simplemente levantando la ventana, arrastrándola hacia la derecha. Y luego anclaré la hoja de trabajo de la izquierda simplemente levantando la ventana de la hoja de trabajo, arrastrándola todo el camino hacia la izquierda. Entonces voy a hacer más ancha la ventana derecha en la ventana izquierda de su mullah. Entonces lo primero que hicimos fue ordenar los datos. Por lo que de vuelta en Excel. Vamos a la pestaña de datos porque he reducido el con de mi ventana. Todo está un poco apretado, así que necesito ordenar y filtrar ordenar. Entonces aquí está el diálogo de ordenación y veamos si podemos comparar el código con lo que realmente está pasando en la ventana de sal. Entonces la primera línea termina con no despejar, y esto básicamente es una línea que borra los parámetros. En realidad no grabé esta línea. Es solo un comportamiento inteligente por parte de Excel. Si hay criterios existentes en la ventana de ordenación, simplemente agregue al May dar resultados impredecibles, por lo que es mejor borrar los criterios existentes antes de comenzar. Eso es lo que hará esa primera línea que la segunda línea, que se derrama sobre varias líneas. Por cierto,
um, um, si tan solo vuelvo a la ventana de códigos y resalte esta sección aquí. subrayado de espacio, que verás en varias de las líneas, es la técnica que se utiliza donde quieres dividir una línea muy larga en dos o más líneas. Entonces en esa larga línea, nosotros, primer lugar, especificamos por qué columna vamos a ordenar. Entonces en la interfaz, realidad
elegimos el nombre de la columna, pero en el código verás que realmente pone la referencia de celda fuera de la columna de ordenación. Por lo que va de a a todo el camino al fondo de la columna A al menos el fondo de los datos en colonia. Y entonces el siguiente parámetro es equivalente a éste, el sort on y se puede ver que tenemos Excel ordenar por valores, que es el equivalente a elegir valores de este desplegable. Entonces el siguiente parámetro es el orden, que es, por
supuesto, ocho está en Excel ascendido. Entonces pasamos a la propia ordenación real. Entonces todo esto realmente es el nivel de anuncio y luego especificar qué hay en cada uno de esos tres desplegables. Después pasamos a la propia ordenación, En primer lugar la gama. En segundo lugar, si los datos tienen encabezados Sí, mis datos han tenido su Así que casillas de verificación equivalentes al encabezado de punto Sí, Por cierto, esta estructura con y termina con se verá muy a menudo cuando se utiliza una grabadora de macro en lo que significa, básicamente, es que todas las líneas entre el interior del extremo con están efectivamente precedidas por esta pieza de código. Por lo que tenemos una identificación para las calles de trabajo. Es así como funcionan los gastos Calle que puedes ver aquí se está identificando en VB un código . Y entonces tenemos la función o método dot sort así que ordenar en la hoja de trabajo activa utilizando estos parámetros. Por lo que todas estas líneas que en realidad comienzan con un punto están precedidas efectivamente por esta declaración, y evita que la declaración sea evaluada repetidamente. Y nos salva del tipo en el comunicado. Muchas veces. Solo traigamos este tipo cuando vuelvan a subir. Entonces tenemos el hecho de que mis datos tienen encabezados. Entonces el caso del partido. Nos confinamos entrando en opciones, y aquí podemos ver lo sensible a mayúsculas y minúsculas. Está apagado, por lo que el caso es igual a la orientación falsa es de arriba a abajo. El método de ordenación es lo único que no veremos que Excel siempre pone eso en cuando se utiliza la grabadora sólo se refiere a caracteres chinos, así que ese fue el tipo que hicimos. Después pasamos a seleccionar toda la hoja por primera vez, yendo a vender ocho a. Y luego escribo turno de control, flecha
derecha. Ver aquí en el abrigo Excel, también, ¿verdad? Y luego empaté al control. Desplazarse hacia abajo, Flecha Exel hacia abajo. Por último, eliminé el fondo. Phil y Excel. Ninguno es algo que es inmediatamente reconocible para lograr eso, que resalté sólo la columna sort. Y de nuevo usé control home down Arrow para empezar en Sally, también. Y luego presioné Control Shift Flecha abajo para seleccionar toda la columna hasta la parte inferior. De nuevo, tenemos la sintaxis del don 't end excel down como resultado de la grasa. Y por último, aplicé azul Light Blue Phil a esa selección. Entonces ya verás. Hay bastante que es inmediatamente reconocible en el que podemos identificarnos como correspondientes a los pasos que realizamos al grabar la macro
12. 1.12. Mejorar una macro grabado: Una vez que empezaste a darle sentido al código generado por la grabadora de macros, casi seguro que quieres modificar ese código y hacerlo un poco más adecuado para tus aplicaciones
particulares. Entonces en nuestra carpeta de entrenamiento, entramos en cero no vamos a empezar, y eso está abierto. Número 12. Mejorarlo fondo grabado. A lo que vamos a visual basic. En la carpeta Módulos, encontrarás el Modelo uno. Cuántos doble click Para abrirlo, verás el código familiar, que es simplemente el código que grabé un par de videos atrás usando la macro grabadora las áreas. Pero eres lo que hay que cambiar un típicamente los que resultan del hecho de que Excel ha sido muy específico en la creación del código. Cuando estás grabando una macro, inevitablemente, para cambiar una cierta selección de celdas, tienes que seleccionar físicamente ese rango de celdas. De lo contrario, Excel no tiene forma de saber qué vende quieres modificar. Por lo que el resultado final es Excel registra referencias a celdas muy específicas en este ejemplo, podemos ver aquí, pero tenemos una referencia a unos pies de trabajo específicos. El hoja de trabajo Gastos, que es la hoja de trabajo que contiene voluntad nuestros datos. Pero esto significa que si queremos colocar este código en un cuaderno que no tuviera una obra de
gastos Calle, el código se rompería de inmediato. De igual manera, cuando llegamos a especificar la columna por la que ordenar, tenemos un rango muy específico de celdas a las que se hace referencia. Si intentamos ejecutar el código desde una hoja de trabajo que tiene un número diferente de filas o columnas , no
va a funcionar. Y otra vez aquí siempre estamos ordenados. Por Colin A. Queremos poder ordenar por la columna que especifique el usuario, lo que tendremos que volver a hacer visible, flexible aquí cuando vengamos a especificar el rango de clasificación que realmente queremos. El rango de ordenamiento para ser todas las celdas que contienen datos. No, un rango específico de celdas a partir de una está bien, pero no necesariamente queremos terminar en la columna F en. No queremos necesariamente parar en rosa 6601. Entonces, comencemos abordando el problema fuera de una referencia de hoja de trabajo específica. Lo que voy a hacer es reemplazar esta referencia por una más general, y la sintaxis que voy a usar es simplemente la palabra hoja activa. Esto significa cualquier hoja en la que estén trabajando los usuarios actualmente. Básicamente, si estás haciendo clic en botones, esto significa que este asiento que contiene los datos debe ser la hoja activa. De lo contrario, ahora no serías capaz de interactuar con él. Obviamente, se necesita experiencia para saber que esa es la sintaxis correcta. Pero por el momento, sólo
vamos a hacer esto sobre una base de necesidad de saber a partir de entonces. Obviamente, a
medida que avanza el curso, vas a familiarizarte cada vez más con este tipo de sintaxis. Tan genial para copiar y usar el comando replace. Al igual que en la mayoría de los entornos Microsoft, un atajo para reemplaza el control H. Alternativamente, lo
encontrarás en el menú de edición, y voy a pegar en el cuadro find ¿Qué cuadro? Entonces eso es lo que queremos reemplazar. Habíamos reemplazado por hojas activas y creo, reemplazar todo y excel finaliza tres ocurrencias. Ese es un problema vendido. Ahora podemos usar esto en cualquier pie de trabajo, y no tendremos problema a continuación. Abordemos el problema fuera de estos rangos específicos. lo que se tratará en este video es el hecho de que nos estamos deteniendo en un rango específico por lo no sólo queremos parar en un escrito específico. Queremos ir todo el camino hasta el fondo y de igual manera aquí. No queremos parar en columna si queremos ir todo el camino a la derecha y luego todo el camino al fondo. Ahora, afortunadamente, en realidad
tenemos código que hace eso. Si recuerdas, cuando grabé el código, presioné el turno de control a la derecha para darle todo el camino a la derecha y luego el control siéntate para ir hasta el fondo. Y de igual manera, aquí de nuevo, empecé en un a presionar cambio de control hacia abajo para ir todo el camino hasta la parte inferior para que podamos usar esa misma técnica aquí en Dhere para asegurarnos de que no nos detengamos en una carretera específica o en esta caso, no lo
detenemos en un color específico. Pero antes de intentar replicar esta técnica, abordemos otro problema. El hecho de que se seleccionaron las celdas antes de aplicar un patrón a la Cuando estás grabando una fila trasera, no
tienes más remedio que hacer esto. Pero cuando tienes razón en V B A, es innecesario y no es deseable. porque ralentiza tu código. Entonces lo que podríamos hacer en V B A es deshacernos de todas estas afirmaciones selectas y simplemente dejar una referencia que especifique las celdas que queremos cambiar. Entonces, empecemos desde arriba. El primero es con selecciónelo a a y luego fueron seleccionados todo el camino hasta la parte inferior, empezando de a a así donde tenemos la selección de palabras ya que en la línea anterior hemos seleccionado un a selección realmente significa un a. Entonces todo lo que tenemos que hacer es copiar el rango de declaración ocho a y donde tenemos selección en la siguiente línea. Podemos reemplazarlo por rango ocho a Esto significa que esta línea ahora está obsoleta y podemos deshacernos de ella para seleccionar la línea de código. Por cierto, utilizó la misma técnica que se hace en Microsoft Word. Coloca el cursor justo a la izquierda de la línea hasta que no tengas flecha apuntando hacia la derecha en contraposición a ésta, que hace algo completamente diferente. Entonces va a ser apuntado hacia la derecha. Muchos pueden hacer clic una vez para seleccionar una línea o hacer clic y arrastrar para seleccionar líneas sucesivas. Entonces aquí solo voy a dar clic en esta línea y luego presionar borrar. El próximo cambio que voy a hacer requiere un poco de familiaridad con V B A. Y eso, básicamente, es encadenar estas dos declaraciones. Entonces ahí está mi turno de control, derecha, seleccionado todo el camino a la derecha, y luego está mi nave de control abajo. A ella le gusta todo el camino hasta el fondo en lo que puedo hacer es encadenar estas dos declaraciones para que tengan una tras otra para que pueda deshacerme de todo este código para que yo esté diciendo Ir todo el camino a la derecha, manejando el oro el camino a el fondo porque acabo de deshacerme de una línea. He terminado con un corchete extra que ya no tiene sentido, así que tendremos que borrarlo antes de proceder. Cuando me alejé de la línea, renuncié a sus minutos de doble cheque. Bien, porque si no fuera se pondría rojo. Y entonces lo último que puedo hacer es lo que hice. En primer lugar, esta afirmación se refiere a una serie de celdas, En otras palabras, a
partir de mayo para ir todo el camino a la derecha y todo el camino al fondo de los datos, habiéndose referido a ese rango de celdas y luego seleccionarlo y le hace algo a esta elección. Entonces lo que puedo hacer es seleccionar la declaración que se refiere a las celdas y reemplazar la selección de
palabras con esa declaración. Esto significa que ahora se puede eliminar la línea que hace la selección. Y cometí un ligero error aquí porque tengo rango. Entonces tengo una declaración, y luego cerré mi rango en este punto. Por lo que la declaración de rango termina aquí. En realidad necesita terminar después del excel hacia abajo para que el rango retome. Todo empezó de mayo a ir todo el camino a la derecha,
abajo, abajo, Así que ese corchete cerrado que saqué fue el equivocado. Esta es la que realmente necesito sacar. Entonces sólo voy a deshacerme de éste. Y qué corchete al final aquí. Entonces conseguí mi rango exterior y luego dentro de él, tengo todo esto. Entonces eso se corrigió este en lo que puedo hacer es copiar esta declaración, y luego cuando estoy haciendo mis clases, aquí está mi declaración de rango para hacer este tipo. En lugar de tener este rango muy específico, ahora
puedo pegar la declaración que utilicé antes. La única diferencia, por
supuesto, es que no quiero empezar de una a quiero empezar desde la primera celda una. Entonces cambié mis dos a una vez. Por lo que durante esto obviamente toma un poco de experiencia en esta etapa. Todo lo que quiero hacer es señalar los cambios que haces a tu código el hecho de que no
tienes que seleccionar elementos. No puedes simplemente referirte a ellos, y tu código funcionará mucho más rápido. Obviamente, medida que pasemos, el código tendrá mucha práctica en trabajar con estas entresijos. Entonces hagamos ahora lo mismo aquí abajo. Estamos trabajando con selección, habiendo seleccionado rango A a por lo que podríamos simplemente reemplazar la palabra selección por lluvia J dos. Eso significa que esta línea podría eliminarse y luego finalmente tenemos una declaración que se refiere a todas las celdas partiendo de una manera demasiado antigua hasta el fondo. Después seleccionamos las celdas referidas para hacer algo con esa selección. Entonces todo lo que tenemos que hacer aquí es copiar la declaración que hace esa referencia celular y reemplazar la selección de palabras por esa declaración. Esto significa que esta línea ahora puede estar relacionada. Por lo que ahora tenemos una declaración que puede reemplazar esta referencia de rango a celdas específicas, empezando por a a un final en una carretera específica para que podamos reemplazarla de nuevo. Entramos dentro de la declaración de rango. No podemos ser todo dentro de eso comenzando en un dos y terminando en lo que sea actualmente la última celda que contiene datos. Por lo que copiamos eso y sustituimos esta referencia muy específica por esa declaración más flexible . Entonces hemos hecho algunas mejoras aquí, y como dije, lo único que queda es el hecho de que siempre nos estamos refiriendo a Llamarlo a cuando
buscamos . Pero cuando cambiemos el fondo de la columna sort, así que abordaremos eso en el siguiente video, seremos atacados en macros. Dos botones
13. 1.13. Assigning de una macro a un botón: El último que queremos hacer es adjuntar nuestra macro a una serie de botones, y lo que habrá que hacer es modificar la macro para que el botón en el que haces clic determine la columna por la que buscamos. Así que vamos a entrar en nuestra carpeta de inicio 01 y ningún número 13 asignando la macro a un botón. Y esta es básicamente la versión modificada de nuestra fila trasera que hicimos en el último video. Entonces cuando entramos, aquí está nuestro código con todos los cambios que hemos realizado. Entonces lo que queremos hacer ahora es crear una serie de botones. Entonces solo voy a encender el modo de filtro. Entonces tenemos nuestras flechas llenas. Nos vamos a asegurar que los botones estén justo a la izquierda de esas flechas en Excel. Cualquier cosa podría ser un botón. Entonces sólo voy a entrar en formas y elegir un rectángulo como el fondo. Entonces si estás diseñando soluciones y tienes botones PNG realmente atractivos desde tu sitio web, solo
podrías usar esos como botones en Excel. Cualquier cosa que te guste en Excel podría ser un botón, así que solo dibujaré el 1er 1 y luego te copiaré esto para todos los demás cuando pegues en su útil, si haces click en el alma en la que quieres pegar y luego cuando pegues pasta excel dentro de esa celda y entonces sólo va a ser un caso de cambio de tamaño en el centro comercial. Entonces esto lo que necesita ser significativamente más grande en este necesita ser significativamente más pequeño . Y nosotros sólo modificamos la altura de un par de estos así que sólo,
uh,los
redimensionaré uh, . Y entonces lo siguiente que queremos hacer es nombrar a cada uno de los botones. Nombre en un botón es muy similar al nombre en un rango de Self, pero tienes un poco más de flexibilidad en que el nombre puede contener espacios, por lo que verás que el nombre predeterminado aquí es el rectángulo uno con esta cara. Entonces lo que voy a hacer es sólo llamarlos, llamarlo a o simplemente c
o.L será suficiente columna B y así sucesivamente. De esa manera, si tenemos ah, Work Street, eso tiene muchas columnas que terminamos usando dos letras y, uh, eso seguirá funcionando. Entonces carbón con un espacio en una y luego muy importante, hay
que presionar enter, De lo contrario el nombre no se registra. Simplemente voy a copiar la primera parte de los nombres pegados en cada vez. Entonces eso es B y, uh ver Y, uh, té y, uh, E y, uh y finalmente f y este doble cheque que el nombre civil se pegó porque es muy fácil cuando se nombra en estos para que no se registre, Así que son todos ellos son nombrados en DA. Lo siguiente que haré mientras sean agradables y fáciles de seleccionar, es adjuntar la macro porque básicamente su ley tiene la misma macro adscrita a ellos. Pero el nombre es lo que los va a distinguir. Por lo que para seleccionarlos todos habiendo hecho clic en el primero, mantengo fuera click turno en cada uno de los otros que,
como, como, haga clic
derecho en cualquiera de ellos Judios asignados backroom. Sí, nuestra macro. Hacemos click en eso como Ok, por lo que ahora tendrán la misma macro asignada a ellos. Ahora podemos hacerlos invisibles mientras aún resaltaban todo esto click derecho y elegir formato objeto. Y luego puse la transparencia Phil 200% en la línea. Transparencia 200%. Por lo que son completamente transparentes y siguen ahí. Cuando haga clic en
ellos, ejecutarán la macro. Y por supuesto, por el
momento siempre están ordenados por columna A porque eso es lo que estipula nuestra macro . Por lo que el siguiente paso es entrar en la pestaña del desarrollador y remediar esto. Entonces lo que queremos hacer es sustituir esa letra A por la letra en la que el usuario ha hecho clic en la letra de la columna en la que hicieron clic los usuarios. Y para ello, vamos a usar una variable estará discutiendo variables en la siguiente sección de esta serie, pero por el momento, permítanme simplemente explicar qué es una variable. Se parece mucho a una referencia celular en una fórmula de Excel. Entonces, por ejemplo, si en una fórmula de Excel tenemos iguales si tu menos D para ver es realmente una forma de decir cualquier valor que esté en la celda C dos menos cualquier valor que esté en la celda D a nosotros realmente no nos importa cuál sea el valor, solo especificamos su ubicación. Las variables logran algo muy parecido. Nombres tu variable enmiende Accel asigna de espacio en la memoria y asocia ese nombre con ella. Después puedes colocar cualquier cosa que necesites referirte en tu código dentro de esa variable, y puedes manipularla tal como lo haces con las referencias de celdas. Entonces veamos cómo declaras una variable. Simplemente voy a poner un comentario en ese efecto. Pero luego veremos cómo se asigna un valor a una variable, por lo que para declarar una variable se utilizó la palabra clave dim, que es corta la dimensión, y luego se crea un nombre para la variable. Es muy útil si el nombre que crea da una pista en cuanto al tipo de datos que contendrá la variable. En este caso son Variable va a funcionar con texto y texto en V B. A se refiere como una cadena. Entonces por esa razón, voy a prefijar el nombre con str. Y luego como la variable está destinada a especificar la columna, llamaré str Columna. Y entonces lo último que necesito hacer es especificar para los efectos de V B A para especificar el tipo de datos, y lo hago con la palabra clave como y como dijimos, es una recta. Por lo que ahora tenemos esta variable disponible en Dhere. Queremos asignarle un valor, y el valor que queremos asignar es el nombre de la parte inferior en la que hacen clic. Entonces cualquiera que sea el nombre que esté asociado a ese botón, queremos terminar en nuestra variable o, para ser más específicos, queremos que la letra al final del nombre termine en nuestra variable. Realmente no necesitamos esta parte para asignar un valor a una variable. Se pone la palabra clave opcional, deja seguido del nombre de la variable str khalib igual a, y luego se pone una declaración que genera el tipo específico de datos que la variable está destinada a contener. Por lo que necesitamos poner una declaración que produzca o haga referencia al nombre del fondo que los usuarios hicieron clic. Y hay una declaración especial en V B A, que hace esa aplicación, no la persona que llama. Por lo que esa declaración recogerá todo el nombre, y luego podremos usar VB, una función que es muy similar a una función que se encuentra en Excel. Es la función media. Es posible que lo hayas usado en Excel. Extrae una cadena desde dentro de otra cadena, por lo que esto es que conocemos aplicacion dot caller. Esto producirá todo el nombre como en frío. Ser, por ejemplo, queremos extraer el ser parte. Entonces eso partió de carácter. Cinco, ¿no? Para que pudiéramos ver a CEO. Bueno, eso son tres, entonces el carácter de espacios para y la letra comienza en el carácter. Cinco. Si es ah, hoja de trabajo
grande. Por lo que tienes dos letras en la referencia de la columna. Entonces queremos recogerlos a ambos, pero queremos empezar por el carácter. Cinco. Muy fácil de hacer con la función de puja. Entonces, en primer lugar, ponemos made al inicio los corchetes abiertos y luego Excel muestra una punta de herramienta que nos dice qué argumentos necesita la función media. Por lo que festival necesita una cuerda, que ya hemos proporcionado. Esa es la llamada de punto de aplicación, así que ponemos una portada. Entonces necesita saber dónde dentro de esa cadena para comenzar los caracteres extraídos. Y como hemos dicho, partimos de carácter. Cinco. Notarás que hay corchetes alrededor del tercer parámetro, que es la lente o el número de caracteres que se van a extraer, y eso significa que es un parámetro opcional. Si lo hemos conocido, lo que haremos, Entonces Excel simplemente extrae todos los personajes de esa posición hasta el final de esta bebida, y eso es exactamente lo que queríamos hacer. Entonces si tenemos una calle de trabajo grande y estamos usando dos letras para referirnos a la columna, Excel extraerá las de así. Habiendo ejecutado esa línea, columna
SDR ahora contendrá la letra apropiada en el paso final es reemplazar un por SD. Yo lo llamaré esta técnica, que se refiere a su incoct A nation, trabaja exactamente de la misma manera en hojas de trabajo de Excel. Por lo que si has usado fórmulas de texto, bien puede que
te hayas topado con esta técnica. Eliminamos la A y prefijamos que citaba String con columna str y vinculamos los dos componentes con un cambio ampersand siete, que es el operador innato incoct. Entonces diciendo cualquier letra o letras que se hayan extraído en la columna str, síguelas con un a eso que producirá el color inicial apropiado. Entonces necesito ese tiempo de guerra varios, así que sólo voy a copiarlo. Lo necesitamos aquí, por
supuesto, y luego más abajo, cuando cambiamos en el color de fondo de una celda, también lo necesitamos aquí y finalmente aquí. Por lo que al usar esa variable la pobló con la letra o letras de columna apropiadas, podemos entonces prefijar las dos, que es nuestro camino de punto de partida a con la letra correspondiente. Es decir, la letra que corresponde a la columna. El usuario realmente lo ha engañado. Entonces vamos a probar que esto funciona. De acuerdo, voy a guardar mis cambios han sido solo dar click en cada una de las columnas. Entonces nombre, fecha de
sucursal, categoría de
cantidad, y luego apellido, que era nuestro original, y van a funcionar bien. Por lo que concluye nuestra pequeña mini aplicación. Ahora está funcionando. Está bien. En el video final, veremos si nuestro código es lo suficientemente flexible como para permitirnos tomar esta solución y utilizarla en una hoja de trabajo completamente diferente.
14. 1.14. Probando una macro en otra hoja de trabajo: Por lo que hemos probado que nuestra macro funciona en la hoja en la que originalmente se grabó. Lo que vamos a hacer en este video final es probar que funciona en unas
hojas de trabajo completamente diferentes . Por lo que pasamos a nuestra carpeta de capacitación. Zero no lo haría empezar. Primero que nada, acabemos abiertamente uno, que es el que terminamos en el último ejercicio. Y luego al mismo tiempo, abramos el que se llama Test. Como se puede ver, esta es una hoja de trabajo ligeramente diferente. No tiene tantas rosas, pero tiene más columnas. Tiene una columnas extra, y por supuesto, las columnas tendrán nombres diferentes. Entonces lo primero que queremos hacer es copiar la macro a través. Esto es muy fácil de hacer. Nos va un desarrollador. Visual basic ha cerrado las ventanas para evitar confusiones aquí, concedimos al proyecto. Entonces aquí está el proyecto para el terminado, y él tiene el proyecto para la prueba. Uno terminado. Uno tiene una carpeta Models con el modelo uno en ella, y, por
supuesto, el test uno no tiene modelos para copiar el modelo. Simplemente lo arrastramos de un proyecto a otro es fácil. ¿ Eso es así? Esto ahora tiene su pliegue múltiple arriba su modelo, uno sin código. Eso es fácil. Lo siguiente que queremos hacer es copiar los botones a través. Por lo que voy a dar click derecho en el primero cada vez que escribas. Al igual que por supuesto, aparece
el menú pop up. Recuerda, puedes presionar escape si quieres deshacerte de él, y luego voy a sostener turno. Y si ahora voy al final,
uno encendido, uno encendido entonces justo a la derecha, haga clic en cada uno de ellos con la tecla de turno sostenida, Así que ahora puedo copiarlos. Cambia a mi hoja de pruebas en una pasta, por lo que van a ser muy difíciles de trabajar mientras son invisibles. Por lo que con ellos seleccionados, voy a hacer click derecho para usar formato objeto y solo eliminar la transparencia. Por lo que hago transparente el 0% para hacerlos más visibles de nuevo para poder verlos a todos. Entonces esto es obviamente hay seis de ellos en el original. Este obviamente pertenece a la llamada F. Voy a darle un click derecho, lívido para llamar un aliento, luego redimensionarlo. Y en este punto, sólo
puedo ir a los datos y traerlo filtrar. Entonces sé de qué tamaño los debaten. Y solo recuerda, cada vez que haga clic derecho para seleccionar el entonces escape para deshacerse de ese bebé. Entonces este es para llamado E aquí. Tengo un poco redimensionado, un par de hígado, un poco grande, pero eso es gracioso. Entonces voy a copiar este pinchando columna G pegar redimensionarlo y,por
supuesto, por
supuesto, renombrarlo Así que eso se convierte en carbón Espacio G. Y luego recuerda presionar centro para que se registre. Entonces lo último es asegurarme de que tengo asignado el macron correcto, que es la macro de este libro de trabajo, no la macro del original. Entonces para evitar confusiones, voy a cerrar los originales van a través del terminado cerrar ese abajo. Ahora voy a mantener presionada la tecla de turno en solo clic derecho en cada uno de estos Teoh seleccionable. Entonces con el balón seleccionado, puedo elegir un signo de vuelta fila. Ahora solo elimino lo que había antes. Haga clic en la macro este cuaderno de trabajo y haga clic en Aceptar, entonces lo último es hacerlos invisibles de nuevo. Todavía tengo mi tarea de forma de formato pagada abierta así que solo pude aumentar la transparencia una vez más 200 para hacerlos todos invisibles. Y eso debería ser. Por lo que ahora solo puedo hacer clic en cada una de estas columnas. Solo rastreemos el centro comercial y se puede ver que funciona bien. Bajemos hasta el fondo y asegurémonos de que el Phil no se extienda más allá del fondo. Entonces eso es todo. Por lo que tenemos una macro, que es lo suficientemente flexible como para ser utilizada en cualquier hoja de trabajo. Sólo necesitamos la paciencia para copiar la macro a través de una copia de los botones en los
encabezados de las columnas y luego simplemente redimensionarlos para que coincidan con las columnas de esa hoja de trabajo en particular. Por lo que eso completa esta sección, donde nos hemos enfocado principalmente en usar la macro grabadora para generar código sobre hombres. Teoh mira. Un reajuste en ese código para hacerlo más útil y más flexible en la siguiente sección se
sumergirá en VB un Andi adecuado. Empieza a discutir algunos de los elementos clave que necesitas para poder escribir tu propio VB un código desde cero
15. 2.1. El modelo de objetos de Excel: en esta sección, vamos a estar discutiendo algunos de los elementos clave que van juntos para conformar el
código VB ocho , y vamos a empezar con algo que es un concepto bastante importante. Un objeto es una colección de código que te permite como programador replicar el tipo de interacción con excel de la que podrías hacer un uso zey. Entonces, como usuario, tu primera interacción es con el propio Excel. Y aquí podríamos conseguir un archivo y elegir opciones. Tienes acceso a excels, ajustes
generales. Por lo que no estás trabajando en un cuaderno específico. Acabas de establecer en parámetros los cuales se aplicarán a lo largo de tu trabajo dentro de Excel en el modelo de objetos de
Excel. El objeto de aplicación representa excel en sí mismo. A continuación, tenemos libros de trabajo, así que puedo ir a un cuaderno existente aquí. Voy a entrar en la segunda sección, la segunda carpeta dentro de nuestra carpeta de formación cero a elementos clave del código V B A. Y entonces abriré 01 el modelo de objetos Excel. Por lo que ahora tengo un cuaderno abierto. Y por supuesto, también
podría crear nuevos libros de trabajo, así que archivo nuevo y un libro en blanco. Por lo que ahora tengo que trabajar libros abiertos Dentro de Excel en el modelo Excel Object. El Colección de Libros de Trabajo. Se trata de un cuadernos de trabajo que tienes abiertos dentro de excel. Cuando quiero hacer cualquier trabajo en excel, necesito enfocarme en un cuaderno específico. Por lo que voy de la colección de libros de trabajo al objeto de libro de trabajo. Entonces dentro de la colección de libros de trabajo, me enfoco en un cuaderno en particular, y luego dentro de ese cuaderno, tengo una serie de otros objetos disponibles para mí. Probablemente el más importante de estos objetos es la colección de hojas de trabajo, y esas son las hojas de trabajo que tengo dentro del libro de trabajo. Entonces este ejemplo Libro de trabajo solo tiene que trabajar hojas así como la colección de hojas de trabajo tiene también la colección de hojas. Como sabes así como hojas de trabajo, puedes tener hojas de gráficos. Entonces si hago clic derecho y elijo, inserto y luego elijo un gráfico, ahora
tengo un significado perfecto menos hoja de gráfico. Pero solo para ilustrar eso así como las hojas de trabajo, no
se pueden tener hojas infantiles. Por lo que la colección de hojas incluye tanto hojas de trabajo como cargos, mientras que, por
supuesto, la colección de hojas de trabajo incluye únicamente hojas de trabajo. Si necesito hacer alguna entrada de datos, me voy a centrar en una hoja de trabajo en particular. Por lo que dentro de la colección de hojas o hojas de trabajo. Ahora me enfoco en un particular pies de trabajo dentro de la hoja de trabajo. Entonces tengo una infinidad de rangos celulares, cada combinación disponible, y cada una de estas posibles combinaciones se suele referir como un objeto de rango. Una vez que hemos entrado en un rango en particular dentro de las hojas de trabajo, típicamente
queríamos hacerles algo. Podríamos querer leer un valor de una celda. Podríamos querer cambiar el formato en un rango de celdas y así sucesivamente. Todo lo que podríamos querer sólo datos de Enderson en una sola celda. Entonces aquí podría escribir una cantidad y luego presionar tabulador para pasar a lo largo de la descripción y así sucesivamente. A la entrada que pones en una celda o celdas se le conoce como el valor. Entonces, solo retrazar nuestros pasos. Empezamos con la aplicación, que es excel en sí misma. Miramos dentro de la colección de cuadernos que actualmente están abiertos. Nos casa en un libro de trabajo en particular, y luego dentro de ese libro, examinamos la colección de hojas de trabajo. Nos casa en una hoja de trabajo en particular. Navegamos a un rango en particular en este caso, una sola celda, y luego modificamos el valor dentro de esa celda. Entonces, ahora eliminemos esta cantidad. Ahora echemos un vistazo a la VB una sintaxis para hacer esto programáticamente. Por lo que nos cruzamos para desarrollarnos, pinchamos en visual basic o simplemente presionamos el viejo F 11. También voy a cerrar el libro de trabajo en blanco no deseado que creé. Entonces ahora solo tengo un proyecto abierto, que hace que la vida sea un poco menos confusa y además voy a borrar la hoja de cargos, que realmente no necesitaba. Así que vamos a hacer clic derecho y eliminar, así que lo primero que necesitaremos para crear una macro es un módulo de inserción de módulo. Simplemente voy a renombrarlo solo para recordarte que puedes Vamos a llamarlo modelo de objetos pagar seis. Ahora necesito la macro en sí, y puedo simplemente escribir el código o puedo hacer clic en la ventana de código e ir al
procedimiento de inserción . Y llamemos al trámite. Insertar datos alergia. Probablemente recuerden. No se permiten espacios, así que ahí está mi macro en blanco y ahora pensemos en la navegación. Entonces tuvimos aplicación, y luego el siguiente paso es obtener colección de libros de trabajo con dientes y especificar el libro de trabajo en el que queremos trabajar entonces tipo de punto Así que el punto se puede ver en este contexto como un personaje de taladrar hacia abajo. Entonces estás diciendo que mira por dentro, excel y luego encuentra uno de los objetos dentro de él. En este caso, nos vamos a trabajar los libros, luego entre paréntesis debilitar, escriba el nombre del libro de trabajo. Por lo que el cuaderno de trabajo tiene este nombre largo aquí. No obstante, sí
tenemos una alternativa. También podemos decir punto de aplicación y verás que una de las propiedades uno de los
elementos dentro del objeto de aplicación es este libro de trabajo Andi. Esta sintaxis se utiliza para referirse al libro de trabajo que contiene la propia macro. Por lo que esto es mucho más conveniente para nuestros propósitos. A medida que
escribas, verás que excel muestra todos los elementos que son miembros del objeto en el que estás trabajando actualmente. Por lo que el punto trae automáticamente toda la sintaxis posible que puedes usar en este
momento , una manera muy similar a cuando tu mecanografía funciona de una manera muy similar a cuando estás escribiendo funciones dentro de una fórmula. Una vez que excel muestra el que
quieres, simplemente presiona la tecla de tabulación para introducirlo en tu código. Por lo que ahora hemos especificado un libro de trabajo dentro de este libro de trabajo. Ahora queremos perforar dentro de la recolección de hojas de trabajo y casa en los
pies de trabajo correctos , por lo que las hojas de trabajo que nos interesan se llaman formulario de factura. También son los primeros pies dentro del cuaderno de trabajo para que podamos hacer dos cosas. Nosotros festival mencionamos una colección, y para ello, volvemos a poner hojas de trabajo de punto. Basta con pulsar tab. Pero Excel lo muestra en la lista y luego entre paréntesis. Debilitar hacer una de dos cosas porque es la primera hoja de trabajo debilitar tipo A uno. Obviamente, esto podría cambiar muy fácilmente. Si alguien insertara una hoja de trabajo extra delante de
ella, se convertiría en hoja de trabajo para. Entonces tal vez un mejor enfoque es usar el formulario de factura de nombre en porque es texto, tiene
que ir entre comillas dobles. Habiendo especificado la hoja de trabajo, ahora
queremos perforar y especificar el rango, y el rango que nos interesa es vender un 15. Por lo que para precisar, venden. Utilizamos los mismos corchetes de rango fiscal, comillas un 15 y luego finalmente queremos cambiar el valor dentro de esa celda y la sintaxis para hacer esto no es valor igual y luego el valor que desea que aparezca en la celda. Si es numérico, simplemente
puedes ponerlo sin comillas. Si es texto, entonces obviamente necesita ir dentro de las comillas. Entonces digamos que queremos el número al que será la cantidad, para que eso nos dé la cantidad y luego la descripción. Como se puede ver aquí su ser 15. Tenemos celdas de tres meses, por lo que el precio unitario se convierte en E 15 en oposición a ver 15. Por lo que de vuelta en nuestro código, ahora
podemos simplemente copiar esto. Onda cambió la letra por lo que esto se convertirá en una B sobre esto se convertirá en una E. La descripción será texto, por lo que tiene que ir entre comillas dobles y luego nuestro precio. Y ahí lo tenemos. Entonces esa es una introducción muy breve a lo que se llama sintaxis de puntos en. Esta es la sintaxis que usas para navegar por el modelo de objetos de Excel. Solo probemos nuestro código puede controlar que el somero en algún lugar dentro de la macro, solo
hacemos clic en el botón de ejecución, y luego cuando volvamos a la hoja de trabajo, podemos ver que tenemos nuestros tres valores ingresados. Y por supuesto, la fórmula entonces resuelve el resultado. Entonces eso es una introducción a la primera parte del rompecabezas, que es el modelo de objetos de Excel. En el siguiente video, echaremos nuestro primer vistazo al Phoebe, equivalente
a las diferencias. Por supuesto, no
hay interfaz, que te da acceso para ser A. Es puramente un modelo programático. Donde es obviamente con Excel tienes visual tú, yo con el que realmente puedes trabajar, así que eso viene a continuación.
16. 2.2. Clases y funciones de VBA: En este video, vamos a pasar de mirar el modelo Excel Object a nuestra primera mirada al VB, un modelo de objetos a diferencia del modelo Excel Object, que representa algo con lo que estamos familiarizados y con el que interactuamos a medida que usamos Excel, el V B un modelo de objeto está oculto. Reside en la memoria, y esencialmente consiste en una serie de funciones que son proporcionadas por el V B, un lenguaje que usa un programador no podría usar como las necesitas. La función que se estará viendo en este video es la función de caja de entrada. Esto permite al usuario ingresar un valor que voy a macro luego puede utilizar de alguna manera. Por lo que en nuestra carpeta de entrenamiento, en la segunda sub carpeta, 02 Elementos Clave de V B. Un código vamos a abrir cero a V B A clases y funciones y luego en el desarrollar su salida. Demos click en Visual Basic. Esto es más o menos donde lo dejamos en el último video. Entonces aquí está la macro que escribimos Por el momento, la macro ingresa tres valores fijos. Ingresa una cantidad, una descripción específica y un precio unitario específico por lo que Lo que queremos hacer es usar Vehbi eh para permitir al usuario ingresar esos tres valores. Cuando aprenderás en V B A. Su madre va directamente al menú de ayuda dentro del editor visual básico, tienes acceso a algo llamado el navegador Objetos. Para llegar a esto, obtienes una vista del navegador Judíos Object y aquí tenemos lo que podrías llamar un diccionario
del lenguaje V B A. Está dividido en varias bibliotecas diferentes, por lo que puedes elegir una biblioteca. Sí, podría elegir, por ejemplo, Excel. El navegador Object luego muestra un Siris de clases, y la clase es esencialmente un código body off, que está disponible para usar un programador. Cada clase representa un área específica de excel. Entonces, por ejemplo, aquí tenemos una clase llamada título de acceso, y esto, por
supuesto, se relaciona con el objeto de gráfico. Al crear un gráfico, opcionalmente podría adjuntar un título a cualquiera de los ejes dentro del gráfico, y el objeto Título del eje contiene toda la funcionalidad para ese aspecto particular de excel. Entonces si cambiamos a la biblioteca V B A, vemos todas las clases que están disponibles como parte del lenguaje V B A en sí, y la parte que nos interesa es la interacción. Al hacer clic en la clase de interacción, vemos una serie de funciones en el lado derecho cuál de las funciones que se están asociando con esta clase. Y aquí está la función de cuadro de entrada que estará utilizando para usar esta función en nuestro código. Podríamos usar un patrón similar al que vimos en el último video. En lugar de comenzar con la aplicación, que representa Excel, comenzamos con V B A. Luego un punto fue la clase, que es interacción, luego otro punto y luego cuadro de entrada. No obstante, realidad nunca
verás esta sintaxis en ningún código, y la razón es que el cuadro de entrada, como ocurre con la mayoría de las funciones dentro de V B. A, pertenece a una clase especial llamada Global's. En cualquier elemento que pertenezca a esa clase no necesita ser calificado. En otras palabras, no tiene que especificar dónde se encuentra dentro de la jerarquía dentro de la V B, una jerarquía de objetos, por lo que simplemente puede decir cuadro de entrada sin prefijo. No obstante, mientras aprende Vehbi eh, usar la sintaxis longhand es una práctica excelente porque hace que tu código se
autodocumente y solo te recuerda de dónde viene esta función, de dónde pertenece dentro de la V B, una jerarquía que ahora está cerrada por el navegador de objetos. Y veamos modificar nuestro código para que en lugar de tener estos valores fijos, podamos tener valores ingresados por el usuario. Pero antes de hacer eso, vamos a modificar el código del lado izquierdo donde nos referimos a la hoja de trabajo para que nuestro código pudiera ser un poco más flexible en este momento. Nos estamos refiriendo al nombre del tap si por alguna razón, el usuario decide cambiar ese nombre del tap. Entonces digamos que el usuario decide. Bueno, en realidad, es obvio que esta es una forma que realmente no necesitamos la palabra forma. Sólo llamémoslo factura. Esto, por
supuesto, romperá código porque la hoja de trabajo que estaban especificando ha sido renombrada, por
lo que ya no hay una hoja de trabajo con ese nombre dentro del libro de trabajo. Entonces si ejecuto el código, esto es algo que verás muy a menudo aquí. Tenemos un subíndice de mensaje de error estándar fuera de rango. El sub script es lo que hay dentro de los corchetes y Está diciendo que especificas el sub script que no existe. El formulario de factura no existe. V B A proporciona un excelente mecanismo para evitar esta posibilidad. En el Explorador de proyectos, notarás que el objeto representa en cada una de las hojas, pero en tu libro, tengo dos nombres. El nombre entre paréntesis es el nombre del grifo, que es el que acabo de cambiar. Pero además de esto, tienes lo que se llama código lee. Y este es un nombre que puedes usar en VB A. Para referirse a ese objeto. Y esto significa que si se cambia la pestaña nombrada, el nombre en código seguirá siendo el mismo. Por lo tanto, tu código seguirá funcionando en lugar de dejar la hoja de nombres por defecto uno y ella a. Por lo general, lo mejor es idear algo más significativo, y también es una buena práctica usar un prefijo,
un prefijo consistente que lo facilitará cuando leas en tu dedo del pie del código, identifiques donde estés usando en el nombre del código de una de sus hojas de trabajo. Entonces voy a estar usando el prefijo S h Así que tengo que cambiar el nombre usando la ventana de propiedades. Y, por
supuesto, si eso no es visible. Simplemente vas a ver en su ventana de propiedades para cambiar el nombre de la hoja uno. Simplemente hago clic en el objeto y en el cuadro de nombre en conseguir sitio S H factura presionar enter y luego pasar a la siguiente a ella. Y aquí cambiaré el nombre a clientes S H y Price Center. Por lo que para referirme a su hoja de trabajo, simplemente
puedo usar la palabra como factura H. Y sólo voy a copiar eso y luego reemplazar bestia Dos declaraciones también. Y estaremos usando esta técnica a lo largo de estos videos dondequiera que queramos referirnos. Las hojas de trabajo siempre llegarán con un nombre en código para cada una de las hojas que queremos manipular y luego usar ese nombre en código dentro de nuestro código. Por lo que ahora volvamos nuestra atención a la caja de entrada. Entonces, como dije, voy a usar el método longhand que nunca verás, y lo estamos haciendo puramente para ser autodocumentados. Entonces cuando lees este código como alguien nuevo en Vehbi, eh, solo te va a dar una pista de dónde pertenece el código dentro del esquema de las cosas . Entonces escribo v b un punto que puedo ver todas las clases, todas las clases V b A. Yo quiero interacción, así que soy tipo en i n t e. Y cuando surge la interacción, solo
presiono la tecla tabulador. Entonces no termino viene caja de entrada en la caja de entrada de uno está seleccionada. Acabo de presionar tap para insertarlo. No necesito poner paréntesis, y entre paréntesis, pongo los argumentos que quiero usar. Notarás que los argumentos que se muestran todos tienen corchetes con la excepción de prompt, y esto significa que prompt es el único que es obligatorio. Todos los demás son opcionales. Por lo que por el momento, prompt YSL pondrá la mejor práctica cuando se ponga en parámetros para sus funciones es poner el nombre de cada parámetro seguido de colon igual. Por lo que aquí hay colon bastante pronta igual y luego los susurros de poros de cuerda. Entonces va entre comillas dobles sobre Digamos que introduzca una cantidad en paréntesis de cierre. Entonces, por
supuesto, las siguientes dos líneas serán casi idénticas. Soldados copian en pasta para las siguientes dos líneas en, entonces, aquí cambiaré cantidad a descripción, y aquí la cambiaré por unidad Precio. Entonces ahora probemos nuestro código. Volveré a excel, y solo ejecutaré la macro haciendo clic en macros en el ataque de desarrollo, seleccionando la única macro que tenemos y resultados de ejecución de liquen. Mi cuadro de entrada con el prompt que especifiqué, ingrese cantidad. Entonces iniciaron mi lanza por una cantidad de tres. Haga clic en Aceptar inter descripción sillas de oficina e introduzca un precio unitario de descuento 85.75 y luego en Ir mis tres Parámetros. Entonces esa es nuestra primera mirada de uso en el V B. Un modelo de objetos. Consiste principalmente en una serie de funciones muy útiles, y como ya he dicho, puedes ingresar estas funciones sin prefijo. Pero sólo para hacer nuestro código un poco mawr auto documento en. Y solo para recordarte dónde son largas estas funciones, vamos a escribirlas a largo plazo para que puedas reconocer la sintaxis que forma parte del modelo
Excel Object, que comenzará con aplicación, no algo en DA desde acceder a parte de Phoebe A misma, que, por
supuesto, iniciará con Phoebe un punto
17. 2.3. Propiedades y métodos: En este video, seguiremos nuestra discusión de objetos hablando de los dos tipos de sintaxis que
normalmente usas con objetos Excel y VB A, y estos son métodos sobre propiedades. Entonces vamos a entrar a nuestro tren en carpeta y en 02 elementos clave de VB. Ahora ocho código abrirán 03 propiedades y métodos, y esto es sólo un libro en blanco. Pero es macro habilitado, Como puedes ver por la extensión de archivo dot XLS M en, cuando vayas al desarrollador Visual Basic, encontrarás que hay un solo módulo y se llama M propiedades y métodos, Así que solo tienes que hacer doble clic para abrir eso. Y aquí tenemos comentarios fuera de un Siri. Por lo que estos son los pasos que se utilizarán en la macro que estará escribiendo solo una práctica trabajando con estos dos tipos de sintaxis, propiedades y métodos. Básicamente, una propiedad es un atributo que se puede establecer o cualquier objeto excel, por ejemplo, si tomamos el objeto de aplicación, que , por
supuesto, significa Excel mismo cuando vamos a y elija opciones. La mayoría de estas configuraciones están disponibles como propiedades fuera del objeto de la aplicación, así que por ejemplo, si cambiara el nombre de usuario de Grant Gamble a G Gamble. Lo que efectivamente han dicho es aplicación, no nombre de usuario es igual a G gamble. Entonces si hago clic en Aceptar y vuelvo a Visual Basic, si voy al menú Ver y aparezco la ventana inmediata, recuerda, puedes escribir una línea de código y ejecutarla directamente desde la ventana inmediata sin
tener que crear una macro. Por qué tipo Puntos de aplicación Resultado. Todos los miembros fuera de los miembros del objeto de la aplicación son la sintaxis, que se puede utilizar con la aplicación y que consistirá principalmente en métodos y propiedades. Y, por
supuesto, va a ser nombre de usuario. Una vez que aparece, presiono tabulador igual. Esto obviamente es una cadena, así que tiene que ir entre comillas dobles, y voy a cambiarlo de nuevo a Grant Gamble encendido cuando presione enter. Si miro en mis opciones, entonces puedes ver que se ha cambiado de nuevo a Grant Gamble. Entonces ese es un ejemplo Off propiedad. Otra sencilla es la hoja activa, por lo que aquí sólo hay una hoja. Si hago doble clic en él y lo llamo datos y luego presente, habré cambiado nombre de punto de hoja activa. De repente, si vuelvo a visual basic y tipo en pies activos, ¿no nombre Cools tiene eso de extraño? Es un principal cuando presiono enter. Cuando regrese a excel ahí se puede ver que se ha cambiado. Por lo que estos son todos ejemplos fuera de propiedades. Veamos cómo se ve eso en el navegador de objetos. Por lo tanto ver Object browser. Asegúrate de que estás en la Biblioteca de Excel, y empecemos con la aplicación. Cuando hago clic en la aplicación. En el lado derecho, verán miembros de aplicación, lo que, como dije, significa
principalmente propiedades y métodos. Entonces, en primer lugar, cambiamos el nombre de usuario. Entonces cuando me desplaza por ahí está en mi resumen en la parte inferior me dice que esto es una cadena. De ahí que tuviera que ir entre comillas dobles. Después fuimos al objeto hoja de cálculo porque obviamente hoja activa, es esencialmente un objeto de hoja de cálculo, y cambiamos la propiedad de nombre. Y como se puede ver, esto también es una fuerza pasando a los métodos. Un método es básicamente una acción que realizas sobre un objeto en particular. Por ejemplo, si trabajamos con la colección de libros de trabajo es decir todos los libros de trabajo, que actualmente tienes abiertos en Excel podríamos abrir o agregar un libro de trabajo. Entonces si voy al menú de archivos, elijo nuevo libro en blanco. Ahora agregué un libro de trabajo a la colección de libros de trabajo, y cuando cierro ese libro, luego lo
eliminé de la colección de libros de trabajo. Entonces para volver a hacer lo mismo en visual basic, voy a usar la ventana inmediata. Puedo decir aplicación. Pero lo que los libros no agregan ya que podemos ver el argumento de que toma su opcional. Está entre corchetes, y eso es para especificar una plantilla que se utilizará con un nuevo libro de trabajo. Y obviamente eso es admitido. Entonces simplemente usamos la plantilla predeterminada, que es lo que hago. Pero presiono enter. Ya verás. Ahora tengo un nuevo cuaderno de trabajo. Cinco. En este caso, lo
he activado. Entonces si ahora vuelvo atrás y escribo en aplicación, no active. ¿ Qué libro? No cerrar Cuando yo cuaderno por ciento. Ahora desaparecen cinco de la colección de libros de trabajo, así que ahora cerremos la ventana inmediata y volvamos a nuestra ventana de código. Recuerda, el atajo para esto es la pestaña de control y vamos a volver a nuestro código. Entonces lo que queremos hacer es crear una macro, que haga todos estos pasos. Por lo que comenzamos insertando nuestra macro. Para ello,
asegúrate de hacer clic en la ventana de código y elige el procedimiento de inserción. Si accidentalmente has hecho clic en la ventana del proyecto, por ejemplo, verás que el procedimiento es genial fuera. Por lo que se asegura de que su cursor esté en algún lugar de la ventana de código y luego simplemente inserte el procedimiento y escribirá. El nombre no crea informe espacial y es un sub y se va a su público. Hacemos clic en Aceptar, y por supuesto solo puedes teclear esto tú mismo. No es necesario utilizar el procedimiento de inserción. Por lo que ahora queremos que todos estos pasos se realicen dentro de la macro. Por lo que para resaltar todos los pasos, basta con mover el cursor justo a la izquierda del texto hasta que cambie a un punto estrecho en clic
derecho y mantenga pulsado, y luego simplemente arrastre hacia abajo para seleccionar todas esas líneas, pase a la selección y luego arrástrela a nuestra macro. Entonces ahora podemos practicar trabajar con métodos de objetos en propiedades, por lo que lo primero que queremos hacer es cambiar el número de hojas que Excel te da cuando creas un nuevo libro de trabajo a uno para que cuando creemos en el libro, sabemos que solo tendremos una hoja. Por lo que este conjunto en sólo recordar dónde vive eso son opciones de archivo. Y es justo aquí cuando créditos nuevos libros de trabajo incluyen este número de asientos. Por lo que esto obviamente es un excel ambientado en. Por lo tanto va a estar en el objeto de aplicación. Entonces como dijimos, esta va a ser aplicación acoplada. Y de hecho, el ajuste se llama hojas y nuevo Workbook. Cuando surja, solo
podemos presionar tab y luego lo dijimos dedo del pie uno por poner en es igual a uno. Entonces esto obviamente es una propiedad, que acabamos de cambiar. Y por supuesto tiene que ser numérico. A continuación, queremos crear un nuevo libro de trabajo. Entonces de nuevo, voy a empezar con aplicación porque esta es una operación de excel. Entonces perforamos hacia abajo en la colección de libros de trabajo y luego ponemos No agregar. Ahora queremos perforar dentro de ese nuevo libro de trabajo sobre renombrar la única hoja de trabajo que contiene
porque creamos el World Book, será el libro activo en este momento, por lo que dentro del objeto de aplicación. Podemos usar libro de trabajo activo, luego perforar dentro de él a todos los asientos de trabajo. Y por supuesto, si solo decimos trabajo, dulce uno, entonces lo recogeremos. Es la única y única hoja de trabajo en el libro de trabajo. Y entonces el inmueble estaba interesado en cambiar es el nombre a menos que la escuela que data. Entonces ahora vamos a fingir que vamos a hacer muchas operaciones, que potencialmente podrían ser muy lentas. Y por eso queremos configurar el modo de cálculo a manual. He puesto la palabra normal aquí. Quise poner manual. Entonces si pudiera cambiar eso a manual y por supuesto, estamos de vuelta con la configuración de Excel aquí, esta es aplicación otra vez, y es solo cálculo cuando escribo igual. Este es un ejemplo Off Excel Constance. Por lo que no se trata de entrar en una cadena. Esto básicamente es ingresar uno de los tres valores posibles, y simplemente equiparan a opciones dentro de la configuración de Excel. Entonces aquí elijo manual, y solo para recordarles dónde vive eso, si voy a las fórmulas de opciones de archivo, ingresa las tres opciones que acabamos de ver de licencia. Lo cambié a manual. Entonces cancelemos. Volver a Visual Basic. El informe de compilación es el paso que no estaremos realizando. Digamos que esto consiste en Ah, todo Siris de diferentes operaciones, así que vamos a fingir que hemos hecho todas esas operaciones. Ahora queremos decirle al usuario que el informe está completo. Por lo que ahora estaremos usando VB A en contraposición a la aplicación V B A interacción no mensaje cuadro. Y aquí verás tenemos un parámetro, que es obligatorio en todos los demás son opcionales. Todos se muestran entre corchetes. Por lo que la mejor práctica es poner realmente el nombre sobre el parámetro, seguido de dos puntos iguales y luego el tipo apropiado de datos, que, para un cuadro de mensaje, obviamente
va a ser una fuerza. De ahí que tenga que ir entre comillas. Voy a decir tu reporte. Es espacio completo, cierra comillas y luego usa ampersand para concur. Katyn se comió el nombre de la persona. Por lo que aquí cambiamos a excel, que es aplicación. No uses el nombre. Y si quieres un signo de exclamación después de eso, podríamos simplemente poner signo de exclamación ampersand entre comillas. Entonces, finalmente, íbamos a volver a ajustar el modo de cálculo a automático, por lo que la aplicación no el cálculo es igual a Excel. Automática. De acuerdo, entonces vamos a probar en una macro. Asegúrese de que el somero en algún lugar dentro de la macro y asumir correr sólo hay libro de trabajo . Tiene una sola hoja, que ha sido renombrado a Data Onda. Nosotros pretendemos que nuestro informe está completo. Y como puedes ver, se recogió mi nombre de la configuración de Excel. Entonces, solo pinchemos. OK, podemos cerrar. Reserva seis a medida que pasemos el curso, estará trabajando con propiedades y métodos, por lo que muy pronto te acostumbrarás muy a ellos. Pero eso es sólo una rápida introducción a esos dos elementos clave de V B una sintaxis.
18. 2.4. Variables de datos: juegan un papel fundamental en VB, una programación y de hecho en todos los lenguajes de programación para echar un vistazo a cómo funcionan. Esa es una especie de la carpeta de capacitación y 02 elementos clave de E. B. A. Abramos cero variables de datos completos. Entonces, en primer lugar, ¿qué es una variable? Las variables son muy similares a vender referencias. Si miramos esta fórmula, se refiere a vender un 15 y luego lo multiplica por auto E 50 por lo que multiplicando cantidad por precio
unitario con la fórmula se refiere a un 15. A 15 efectivamente es una variable. No sabemos qué valor tendrá en vender 50. No sabemos qué valor habrá en la celda E 50 pero los valores aire en esas celdas
se multiplicarán juntos, y así fueron las variables. La única diferencia, por
supuesto, es que las variables viven puramente en la memoria. No forman parte de ninguna hoja de trabajo, y también se define el nombre de la variable cuando se define en nombres de variables. Una buena práctica es utilizar un prefijo que indique el tipo de datos que planea
poner dentro de esa variable. Y aquí podemos ver los tipos de datos hechos con los que XLV ser un funciona. En primer lugar tenemos cadena, que, por
supuesto, es para texto Valores numéricos Alfa. Después tenemos un par de tipos de datos relacionados con números enteros. Inter GIA es adecuado para números enteros más pequeños hasta cerca de 32,000 on long en Didja, que se llama Simply Long, es adecuado para números enteros más grandes hasta un par de 1,000.000.000. Entonces tenemos moneda, que se utiliza para valores monetarios y un par de tipos de datos adecuados para manipular números riel muy grandes que contienen decimales simples y dobles dobles, por
supuesto, siendo el más grande de los dos . Entonces tenemos un 1,000.000.000 que sólo puede contener dos valores de fecha verdadera o falsa, que se utiliza para contener fechas y horas. Y luego finalmente tenemos el tipo de datos predeterminado, que es una variante. Entonces si declarara una variable pero no especificara su tipo de datos, sería variante predeterminada. Y cuando usas este tipo, Excel básicamente intenta adivinar el tipo de datos en función de la naturaleza fuera de los datos. Cualquier momento que necesites declarar una variable como variante es donde estarás usando técnicas que producirán tiempos de datos desconocidos. Pero la mayoría de las veces querrás especificar explícitamente los datos. Escriba sobre las mejores prácticas para utilizar un prefijo, que indica el tipo de datos que conservará su variable. Por lo que no he echado un vistazo a estos tipos de datos. Ahora pasemos a visual basic y veamos cómo en realidad declaramos variables para que
encontremos que ya tenemos un módulo creado. Se llama M data Variables on. También tenemos una macro en blanco llamada variable Basics. Entonces veamos algunas técnicas. En primer lugar, siempre que vayas a usar una variable, siempre
es mejor declarar la variable. Y para hacer eso, usa la palabra clave dim, que es dimensión corta, y luego se te ocurre un nombre sentir variable. Entonces lo que estaremos haciendo en esta macro corta es que primero que nada, saludando al usuario, y vamos a agarrar su nombre del sistema. Así que vamos a crear una variable llamada usuario str y especificar que se trata de un
usuario str variable string no es realmente suficiente de una pista que es puramente para nuestra referencia. No le dice a Excel que es una variable estricta para hacer que usó la palabra clave como y
Tan pronto como golpeé la barra espaciadora, veo una lista muy larga, que incluye no solo tipos de datos sino también todos los diferentes objetos de Excel a los que podría almacenar una referencia en una variable. Por lo que las variables tienen este doble propósito de almacenar datos también. Una historia hace referencia a objetos de excel. Entonces aquí solo escribo str para string y fui String aparece comprimió tab para insertarlo, que voy a componer un mensaje para el usuario, que de nuevo es una cadena. So str mensaje Como primavera, después de mostrar el mensaje al usuario, vamos a pedirles su edad. Y esto, por
supuesto, es un número entero. Tan int age como imágenes interpuestas suben hasta 32,000. Por lo que eso debería ser suficiente para la edad de la mayoría de las personas. Y por último, queremos halagar al usuario. Entonces, sea cual sea la edad que entren, nos llevaremos el 75% de eso. Los agentes dicen:
En serio, En serio, no miras ni un día por encima de esa cifra. Entonces por esa razón, vamos a crear en adulación como en maestro. Entonces así es como declaras variables dim nombre de variable como un tiempo de datos. Veamos ahora,
asignando un valor a una variable también llamada poblada una variable. Entonces solo voy a tabular esto. También podríamos tocar las declaraciones dim si resalto todas estas líneas en la pestaña de prensa pero eso solo las toca. Esto es solo por legibilidad. Por lo que para poblar una variable se utilizó la palabra clave. Dejar si la variable contiene datos y conjunto. Si la variable contiene de referencia a un objeto excel en, estaremos viendo variables de objeto en el siguiente video. Entonces aquí obviamente estamos lidiando con datos. Por lo que es un let variable nombre str usuario en este caso igual seguido de cualquier declaración que evalúa al tipo de datos correcto. Y por supuesto, esta ocasión queremos amarrar su aplicación. No use el nombre evalúa a una cadena. Permítanme recordarles dónde vive eso opciones de archivo sobre los valores que hay en su aplicación. No uses la aplicación de nombre por supuesto significa excel. Por lo que ahora queremos volver a asignar un valor al mensaje SDO. Se trata de datos. Let s t o mensaje igual. Entonces digamos hola Noticias del espacio El soy por ciento personaje para puede lanzar una nación Así que hola! exclamación de usuario Str ¿Cómo estás hoy en entonces podríamos usar el objeto de voz para decir
realmente mensaje sdo al usuario. Y aquí estoy desestimando a un 10% soldados necesitados 10% después de que los usuarios de STL bien, para hablar con el usuario, usamos aplicación, no hablen y luego no hablen. Lo primero, por
supuesto, es el texto texto Kotal mensaje str desigual en este caso y eso es lo que necesitamos decir en esta ocasión. Ejecutamos nuestra macro. Debería recoger el nombre de usuario de Excel de Grant Gamble y saludarme. Hola, Grant Gamble. ¿ Cómo estás hoy? Eso está bien. Por ahora, tan bueno. Por lo que ahora queremos pasar a agarrar en la edad de la persona. Entonces déjame poner un nuevo mensaje en el mensaje str. Vamos a probar tu mensaje igual. Por cierto, ¿cuántos años tienes? Y luego hablar mensaje STL. Entonces simplemente voy a copiar esta línea y lo haré manteniendo presionada la tecla de control y arrastrando la línea a una nueva ubicación. Entonces str mensaje ¿No has actualizado Bean? Cuando utilicé esta declaración, obviamente
va a hablar la nueva versión del mensaje STL. Pero, ¿qué? También quiero hacer es mostrar una caja para que el usuario escriba en su edad. No necesariamente quiero que el mensaje hablado tenga que terminar antes de que
aparezca el cuadro de diálogo . Entonces para hacer ese jamón voy a usar el segundo parámetro, que es que puedes ver, es opcional. Está entre corchetes llamado Habla un fregadero. Creo que es abreviatura de un sincrónico. Eso significa que el discurso ocurrirá simultáneamente con lo que venga a continuación. Entonces, en otras palabras, el mensaje no tiene que ser hablado en su totalidad antes de que aparezca el cuadro de diálogo. Entonces para eso, acabo de poner hablar un fregadero verdadero. Y luego inmediatamente después, eso es lo que ahora puedo decir, Let I NT edad igual. Y luego voy a poner la longhand v b a punto interacción no hacer cuadro de entrada y luego paréntesis. Necesitaré un prompt, que, por
supuesto, será simplemente mensaje STL. Entonces conseguiste lo mismo en el diálogo que se está hablando con el usuario. Entonces ahora hemos poblado todas nuestras variables. Entonces en la sección variable de uso, lo que es calcula su edad aduladora por lo que podemos decir Vamos a adulación igual en edad multiplicada por norte 0.75 on. Lo que también podemos hacer es forzar este cálculo para devolver un valor entero a nuestra variable de
entrevista y ahí, Siris
especiales de funciones de conversión las cuales están disponibles en V B A. Y voy a poner esta longhand solo un auto za función de documentación para que cuando vuelvas a mirar
esto, ya
sabes, sea parte de V B a. Así que alivia nuestra conversión. Esa es la clase en la que se encuentra esto. Ver int es la función que convertirá nuestro cálculo en fuerza lo para devolver un valor
insurgente. Entonces ahora tenemos en la adulación en su lugar, podemos componer nuestro mensaje final. Entonces esto se va a dejar que str mensaje igual realmente ampersand en edad. I m per send años viejo signo de exclamación No te ves un día sobre espacio ampersand en adulación ampersand, exclamación. Entonces está Armitage y luego finalmente les hablará el mensaje. Y esta vez realmente no queremos que pase nada más en concurrencia. Entonces voy a usar este estilo sin el fregadero igual a cierto. Entonces básicamente copia eso en pegarlo aquí. De acuerdo, entonces vamos a probarlo. Hola, Grant. Gamble, ¿Cómo estás hoy? por cierto, ¿Cuántos años tienes? Está bien. Tengo 100 años, verdad. 100 años. No te ves un día más de 75 y ahí está. Esa es nuestra primera mirada a las variables. Los estaremos utilizando a lo largo del curso de todo tipo de formas. Por lo que para el final del curso, estarás extremadamente acostumbrado a ellos. Y en el siguiente video, pasaremos a ver cómo usas variables para almacenar referencias a objetos de excel.
19. 2.5. Variables de objetos: en el último video, miramos los datos de la historia en variables. En este video, pasaremos a mirar referencias de historias para sobresalir objetos en nuestras variables. Lo que vamos a hacer es escribir una macro sencilla que se vea dentro de esta carpeta. Call Sales, abre el archivo llamado Ventas y luego filtra todos los productos de la gama llamados Brain Stuff. Por lo que queremos hacer el equivalente de ir al filtro automático de datos y luego seleccionar en los cerebros Organizar solo, . y luego queremos copiar todos estos datos filtrados en el archivo cosas del cerebro frío. Y digamos que queremos eliminar la hoja de trabajo existente, crear una nueva y luego pegar la información en esa nueva flota de trabajo. Así que vamos a cerrar estos y luego vamos a abrir el archivo que contiene nuestra macro. Y esto son 05 variables de objeto, y lo que estará haciendo es crear referencias al libro de trabajo, hoja de trabajo y objetos de rango en ambos de esos libros de trabajo. Esto es un poco exagerado porque realmente no estamos haciendo muchas operaciones, y ahí es realmente donde usar variables se vuelve útil. Pero hacemos esto solo que puedes conseguir algo de práctica de algodón cruzado, usando variables para datos con el uso de variables para objetos excel para iniciar referencias a los objetos que vas a manipular. Entonces echemos un vistazo a nuestra macro vacía. Vamos a desarrollar, Abre aquí el editor visual básico, verás, tenemos el esqueleto de la macro que vamos a crear, así que empezaremos declarando nuestras variables. Bueno, entonces, uh, abre el cuaderno de trabajo fuente. Que, por
supuesto, es ésta una venta filtrará los datos como acabo de mostrar. Especificará el rango de fuentes, que, por
supuesto, serán los datos del filtro. Bueno, entonces abre el cuaderno de trabajo de revuelo cerebral, copia los datos, y luego cierra el cuaderno de ventas original, dejando los cerebros para que podamos ver que nuestra operación ha sido exitosa. Entonces, como dije, vamos a entrar en modo exagerado en la creación de variables. Vamos a dio seis en el rango total de hojas de trabajo de cuaderno. Y lo hacemos tanto para el cuaderno de trabajo fuente como para el libro de destino. Declarar las variables es lo mismo que declarar variables de datos utilizadas la palabra clave dim, seguida del nombre de su propia creación, preferentemente usando un prefijo para hacer que su código sea mucho más legible. Entonces comenzando con el cuaderno de trabajo que va a ser fuente WK b. Y luego ponemos la palabra clave como, y en este caso, el tipo de datos se convierte en un libro de Excel. Déjame hacer lo mismo para las hojas de trabajo. Fuente Dumpty Chaos así arriba asientos y el rango son N g. fuente como rango una buena característica que puedes usar dentro de la V B A. Es para reemplazar dentro de una selección. Entonces si ahora quiero hacer tres equivalentes para el cuaderno de trabajo objetivo, puedo seleccionar estas tres líneas y copiarlas simplemente manteniendo presionada la tecla de control y arrastrando en la selección debajo el original. Después selecciono las líneas copiadas. Y si ahora uso el control H o editar reemplazar, simplemente
puedo decir en el encontrar qué fuente de caja y en el reemplazar con Box Target. Y entonces esta opción muy útil el texto seleccionado ya está resaltado para mí. Yo por lo tanto, justamente de requiere todo y reemplaza a tres ocurrencias. Hagamos entonces una variable final para especificar la ruta porque obviamente cuando vengamos a abrir estos cuadernos de trabajo, tenemos que especificar dónde se encuentran, y usaremos un pase relativo. Básicamente, tomaremos la ubicación en la que se guarda el libro que contiene la macro, la carpeta que contiene ese libro. Y luego trabajaremos desde el aire hasta la carpeta de ventas y buscaremos libros de trabajo con los nombres que sabemos que tendrán esos cuadernos de trabajo. Entonces esto, por
supuesto, será una cuerda muy larga, tan tenue. Camino Str como fuerza. Entonces antes de que podamos abrir el libro de trabajo fuente, necesitamos poblar ruta str para poblar o asignar un valor a una variable de datos. Utilizamos la palabra clave opcional dejar en el nombre de la variable un igual, y luego usamos una declaración que produce una ruta. Entonces para especificar la carpeta que contiene el libro actual o más bien, el libro que contiene esta macro. Decimos aplicación no este cuaderno de trabajo stop path y luego queremos sumar a lo que hacemos mediante el uso de ampersand shift siete, el operador de concatenación. Entonces yo m por ciento y luego doble comillas y luego tendremos que poner una barra inclinada para continuar sin las ventas de ruta, que es el nombre de la sub carpeta, otra barra inclinada, y finalmente, el nombre del archivo, que de nuevo fue ventas La X l s X cerró cotizaciones. Por lo que estamos tomando la carpeta en la que la actual en la que se guarda este libro de trabajo estamos agregando en el resto del pasado para que el completo pase al archivo que desea abrir. Cuando abrimos el archivo, simultáneamente
ponemos una referencia al mismo dentro de la fuente wk b. No obstante, cuando asigna un valor a una variable de objeto, debe usar la palabra clave set en lugar de let. Y a diferencia de la palabra clave, let set no es opcional. Tienes que incluirlo, y es por eso que te recomendaría cuando estás aprendiendo Levy A. Pero siempre usas el let para que tengamos un poco más de paridad, por lo que siempre puedes pensar. ¿ Necesito un let o necesito un set? Por lo tanto Establecer fuente wk b igual a aplicación. Los libros de trabajo no se abren ahora. Esto, por
supuesto, es un método. Es una acción, pero como no es la única declaración en esta línea, realidad
es parte de una declaración. Tenemos que usar paréntesis. Entonces si las únicas declaraciones en la línea eran la aplicación, no el trabajo, no está abierto. Necesitarías un espacio en este punto corre y paréntesis, pero debido a que solo es parte de la línea, sí
necesitas tener paréntesis, Así que el único parámetro que necesitará es el nombre del archivo en la convención que se utilizará en es poner el nombre del parámetro colon igual y luego el valor. cual, por
supuesto, en este caso es str path string que acabamos de componer en el puente es ligero. Entonces vamos a guardar nuestros cambios y la macro de estilo de prueba, y efectivamente podemos ver que las ventas se están abriendo. Por ahora, tan bueno. Por lo que el siguiente paso es filtrar los datos, y para ello se tendrá que perforar hacia abajo en los pies de trabajo que contienen los datos y luego especificar el rango que será Filtrar. Podemos decir la primera hoja de trabajo porque sabemos que es la única en el libro o podríamos referirnos a ella por su nombre. Por lo que dentro de las ventas tenemos una hoja también llamada ventas, por lo que podemos referirnos a ella como hojas de trabajo uno o hazañas de trabajo ventas. De nuevo, estamos hablando de un objeto Excel, por lo que la palabra clave se establece como un póster. Deje wks fuente igual a y por supuesto, Millikan Dentro de wk b fuente en todas las hojas de trabajo y luego entre paréntesis. Precisamos cuál, y lo voy a hacer por nombre, lo que significa que tengo que usar comillas dobles. Entonces esa es la hoja de trabajo que nos interesa. Ahora. El conjunto de rangos son N g fuente igual a esta vez estamos buscando dentro de la fuente wks, y simplemente queremos el rango usado, es decir, todas las celdas que contienen datos. Ahora que hemos perforado en el rango, podemos filtrarlo, y eso es muy fácil. Nuestra fuente de energía. Auto filtro. Y esta vez, porque el método es las únicas declaraciones en la línea, no
necesitamos paréntesis. Acabamos de golpear la barra espaciadora e ir directamente a nuestros parámetros. Entonces, en primer lugar, especificamos el campo, y esto se hace numéricamente tan numéricamente. ¿ Por qué columna quieres filtrar? Si vuelvo a abrir ventas, Lo
bonito que puedes hacer y contar columnas en Excel. Es solo un arrastre a través de los encabezados de las columnas y mantener el ratón pulsado y notarás que aparece una pequeña punta de herramienta. que te dice cuántas columnas tienes seleccionado actualmente Así, como puedes ver, quiero la gama de productos y esa columna G, que es la séptima columna para que puedas ver al final de la punta de herramienta por siete C siete columnas. Entonces por eso queremos filtrar. De vuelta a nuestro código en campo se convierte en siete. Cuando tienes múltiples parámetros, una muy bien que puedes hacer es ponerlos en líneas separadas. Simplemente los hace más fáciles de leer. Para dividir la línea. Utilice el Operador de Continuación, que es espacio, seguido de un guión bajo. Entonces puedo usar Tab y barra espaciadora de remolque alinear el cursor en el siguiente parámetro que necesito son los criterios de criterio. A qué colon es igual y este es un criterio de cadena. Entonces va entre comillas y es la palabra cosa cerebral. Entonces esa es mi operación de filtro en los datos del filtro es mi rango de fuente. Ese es el rango que quiero que pueda ser, Así que ahora puedo entrar en la siguiente sección y simplemente repetir esta línea. Establezca nuestra fuente de energía igual a la fuente W ker. Detener rango usado porque, por
supuesto, el rango usado ha cambiado al rango filtrado. Ahora quiero abrir el cuaderno de trabajo objetivo. Entonces por supuesto que voy a utilizar a líneas muy similares. Por lo tanto, de nuevo, resalta estas dos líneas, mantén presionada la tecla de control y luego simplemente arrastra a la sección de libro de destino abierto. Entonces aquí simplemente cambiaré la palabra ventas a cosas cerebrales. Por supuesto, la carpeta es exactamente la misma, por lo que no necesita cambiarse eso. Y entonces la variable que estoy usando es por supuesto, wk b target, supongo, a w k b fuente. Entonces eso se abrió el cuaderno de trabajo objetivo Ahora para copiar los datos. Ya he especificado el rango de fuentes. Simplemente necesito hacerlo, sobre todo para el rango objetivo. Y lo que quiero hacer de manera efectiva es crear una nueva hoja de trabajo. Digamos que queremos relevar en la hoja de trabajo cosas del cerebro. Enmendar. Eliminar la hoja de trabajo existente. Entonces para hacer esto, estableceré objetivos wks iguales a W K. Ser objetivos. Las hojas de trabajo no agregan. Como se puede ver, el método no es lo único en la línea. Por lo tanto, si quiero especificar la ubicación dentro del cuaderno fuera de mi nuevo trabajo, calle sólo paréntesis y los dos parámetros que me permitieron hacer eso son antes y después, Así que voy a usar eso antes de Método Colón es igual. Cuando especifico qué hoja de trabajo dentro del objetivo W K B. Necesito colocar este nuevo antes Y por supuesto es la hoja de trabajo uno. Así que simplemente digo, W k b objetivo hojas de trabajo punto corchetes uno. Por lo que mis nuevos trabajos, irá antes de la hoja de trabajo existente. Una vez que haya hecho eso, puedo eliminar la hoja de trabajo existente la cual,por
supuesto,
en este momento se habrá por
supuesto, convertido en hoja de cálculo a cuando intentes eliminar una
hoja de cálculo de excel . Excel simplemente comprobará que desea eliminarlo en pantalla un poco cuadro de diálogo s para que
podamos ocultar ese cuadro de diálogo simplemente mediante el uso de la
propiedad de alertas de visualización de puntos de aplicación . Por lo que decimos aplicación no mostrar un Let's es igual a false. Entonces eliminamos nuestras hojas de trabajo por lo que va a ser wk ser objetivos No trabajes hojas, también, que eliminamos y luego simplemente reactivamos nuestra pantalla. Así que solo estoy usando el arrastre controlado para copiar esa línea y el cambiante falso True. Entonces ahora hemos especificado la hoja de trabajo en la que queremos copiar los datos, por lo que estamos listos para especificar el rango donde se van a copiar los datos y para hacer la copia por sí misma. Entonces para especificar el rango, decimos establecer objetivo RMG igual a PKS Los objetivos no alcanzan cohetes un uno porque, claro, solo
necesitas especificar la celda superior izquierda en la que estás pegado. Ahora, cuando vengas a copiar datos usando B B A siempre y cuando especificara tanto la fuente como el objetivo, no
necesitas hacer una copia seguida de una pasta. En realidad puedes hacer la copia en una sola línea, y Excel nunca entra en ese modo de copia especial con el flash en el borde. Simplemente transfiere los datos de manera limpia y rápida. Por lo que siempre que sea posible. Este es el método que utilizas para mover datos de una ubicación a otra en tu espalda, rosa. Por lo que comienzas con el rango de fuentes, cual nos hemos mantenido en nuestra variable de fuente de energía y luego usaste el método de copia
copia dot copy. El método que estamos definiendo es el único enunciado en la línea, por lo que no necesitamos paréntesis. Acabamos de entrar en el espacio, seguido del parámetro de destino. Tolan es igual y por supuesto, objetivos de
RMG. Y eso es todo. Tan solo un par de pasos finales para limpiar las cosas. Cambiemos el nombre de la calle de trabajo y luego también encajemos las columnas para que todos los datos se hagan visibles. Entonces para renombrar, lo
tenemos sostenido en nuestra variable wks target dot name es igual a cosas cerebrales Entonces para también encaja , solo
usamos wks Target no use rango las columnas Pero también si es y eso es todo, entonces lo final que hacer es cerrar nuestro libro de trabajo fuente. El libro de trabajo fuente es por supuesto w k b fuente. Ven a decir Doc Close, pero le hemos hecho cambios,
que no queremos que se guarden. Entonces tenemos un método que es el propio yo declaraciones en la línea por lo que no necesitamos paréntesis. Sólo necesitamos un espacio encendido. Se utilizó el parámetro de cambios seguros colon es igual a falso. Por lo que cierra el cuaderno de trabajo, abandona los cambios que hemos hecho en. Entonces estamos en el negocio. Una última cosa que podríamos hacer es sólo poner un buzón de mensajes. Y voy a hacer esta larga planeada interacción B b a punto solo para recordarte dónde vive . Mm Plaza espacio de caja de la calle colon igual a la operación completa. Está bien. Para que tengamos ah, macron. Guardemos nuestros cambios y vamos a probarlo para que las operaciones se completen. Ahí está nuestro asunto del cerebro y tenemos que trabajar. Secuela, cosas
cerebrales era a lo largo de los descansos, los productos y hemos cerrado nuestro cuaderno de trabajo de ventas sin seguro en los cambios. Entonces voy a hacer lo mismo con cosas cerebrales. Sólo vamos a cerrar. Digamos que no ahorres. Entonces nos hemos ido un poco por la borda en la creación fuera de variables de objeto, pero solo quería darte la oportunidad de contrastar eso. Uso de variables para almacenar datos utilizando esta palabra clave opcional. Deja con el uso de variables restaurando referencias a objetos excel donde tienes que usar el conjunto de palabras clave obligatorio.
20. 2.6. Opción explícito de la opción de la opción de Explicit: en este video, vamos a ver un VB muy útil, una declaración que se relaciona con el uso de variables y esa es opción explícita. Entonces para ver por qué esto es tan importante, vamos a entrar en nuestros 02 elementos clave de V B una subcarpeta de código y luego abrimos 06 Opción explícita. Cuando entres al editor de Visual Basic, verás que tenemos el mismo módulo que usamos en el último video y dentro de él
tenemos la macro que lo escribimos en el último video. Ahora habrás notado que la parte superior de cada uno de los módulos que hemos insertado
automáticamente hemos tenido esta opción de declaración explícita. No me extrañaré, básicamente, es que se requiere declaración variable. Entonces, en otras palabras, antes de usar cualquiera de estas variables, Así, por ejemplo, str path. Antes de usar eso, habré tenido que declararlo y mostrarles por qué esto es tan importante. Tomemos un escenario muy sencillo donde hacemos un error tipográfico, como lo ponemos en nombre de una variable. Entonces aquí abajo, cuando vengamos a cerrar nuestro cuaderno de trabajo uso en W K B dolorida stock cerrar. Digamos que hemos escrito accidentalmente wbk. Por lo que no es una época particularmente conspicua, algo que fácilmente te podrías perder porque tenemos opción explícita en la parte superior de nuestro modelo. Cuando intento ejecutar este código, se
me presenta un mensaje de error informándome que esta variable no ha sido definida y inmediato
puedo ver nuestra. Esto es porque hay un error tipográfico y entro el nombre correcto. Ahora veamos lo que sucederá si omitimos opción explícita. Por lo que para salir del modo de freno, hago clic en el botón de reinicio encendido. Obviamente podría eliminar la opción explícita, pero lo que también puedes hacer cuando estás probando tu código es que simplemente puedes comentar una o más líneas, y puedes hacerlo manualmente insertando un apóstrofo tú mismo. Pero también hay este útil botón en la parte superior aquí llamado Bloque de comentarios, y esto te permite simplemente seleccionar una o más líneas y hacer clic para convertirlas en comentarios. Y junto a ella, tienes un bloque significado de NCAA, que lo convierten de nuevo en una línea de código. Entonces voy a comentar opción explícita y vamos a ver cuál es la diferencia Por cierto, debería
decirles que esta es la barra de herramientas de edición. Entonces si es un todo en tu pantalla, solo
tienes que ir a ver dos barras y elegir editar. Ahí es donde vive. De acuerdo, entonces ahora hemos desactivado opción explícita. No vamos a calentarnos si hacemos un error al escribir en nombre de una variable. Entonces cuando ejecuto mi código, la
mayor parte funciona bien. Pero cuando intenta cerrar el libro por el error tipográfico, obtengo un objeto de mensaje requerido. Y, por
supuesto, cuando obtienes este tipo de errores a los que puedes desviarte, en realidad
puedes tomarlo muy literalmente. Empieza a hacer búsquedas en la Web para ver qué salió mal cuando todo el tiempo. Es este error tipográfico muy sencillo. Entonces a veces está justo en la nariz y te lo echas de menos. Entonces de nuevo, déjame apretar el botón de reinicio para salir del modo freno, y solo cerraré. Los archivos que han estado ahí se abrieron como resultado de ejecutar ese código, dijo que la solución simple es siempre asegurarse de que tenga opción explícita en la parte superior de su modelo para guardarlo escribiendo usted mismo. Podrías tenerlo insertado automáticamente cada vez que crees un nuevo módulo, por lo que notarás que cuando haga clic derecho, inserte módulo arriba viene opción explícita en la parte superior de cada modelo. Este es el comportamiento por defecto, y es el resultado de una opción en las opciones de herramientas del menú Herramientas llamadas requieren
declaración variable . Entonces si fuera a desactivar esta opción cuando estoy dentro en el modelo ahora, notarás que la opción explícita no está insertada. Lo que esto significa es que aunque declare mis variables porque opción explícita no está ahí , si hago un error cuando el tipo en los nombres son variables, no
voy a calentarme. Dependerá de mí localizar la fuente de esa época,
así que es algo muy sencillo y definitivamente vale la pena hacer. Simplemente asegúrate de que en las opciones de herramientas has requerido declaración variable siempre encendida. Y luego cada vez que insertas un módulo justo en la parte superior da esta muy útil
opción de declaración explícita
21. 2.7. Cómo declarar y usar las constantes: en este video, vamos a ver Constance y contrastar el uso de Constance con el uso de variables para ver cómo funcionan las constantes en nuestros 02 elementos clave del código V B. A. Pasemos al 07 declarando y noticias en Constance. Cuando entramos al pueblo desarrollador en visual basic, encontraremos el mismo modelo en el que trabajamos en videos anteriores. Esencialmente, una constante es un valor variable no varía. Se trata de una pieza de datos que quieres mantener un seguimiento mientras tu código se está ejecutando. El valor se mantiene constante alrededor, y dentro de este código tenemos aquí un par de candidatos a Constance. Por ejemplo, cuando estamos abriendo el libro fuente, tenemos una cadena literal, que apunta al libro de origen. En lugar de tener esta cadena literal. Es una práctica recomendada declarar una constante, que contiene esa cadena y luego referirse a la constante a lo largo de tu código. Esto hace que sea mucho más fácil mantener tu código y modificar estos valores literales. Entonces para convertir esto en una constante, simplemente lo copiaría y para declarar una constante, usaste la palabra clave, Const. Entonces sigue siendo una mejor práctica usar el prefijo, así que voy a llamarlo str ya que es una cadena y la convención es poner el resto
del nombre todo en letras mayúsculas solo para que puedas distinguir Constance de variables cuando así que voy a llamarlo str ya que es una cadena y la convención es poner el resto
delnombre todo en letras mayúsculas solo para que puedas distinguir Constance de variables cuando
mira tu código, así que llamaré a esta fuente str. Entonces todavía dices como cadena para especificar el tipo de datos, entonces la segunda diferencia entre una variable y una definición constante es que
luego debes declarar el valor de la constante. Entonces aquí tendríamos que decir, igual y luego puedo simplemente pegar en la cadena, pero copié. Entonces puedo reemplazar el valor literal por el nombre de mi constante. Aquí hay otro candidato, aunque es corto porque es un valor literal. Convertirlo en una constante hace que tu código sea fácil de mantener, así que haré lo mismo. Copiarlo, declarar una constante. Esta vez llamaremos a los criterios y nuevamente bien transitados en el valor y sustituiremos el
valor literal por el nombre de nuestra constante. Y luego finalmente, hagamos lo mismo para el cuaderno de trabajo objetivo. Y una vez más, vamos a reemplazar el valor literal para que puedas imaginar es que tu código se vuelve más complejo usando esta técnica hace que tu código sea mucho más fácil de mantener. No tienes caza de esos valores literales. Se declarará junto con todas tus otras Constanza. Entonces en este ejemplo, si queremos usar nuestro código para encontrar otro rango en lugar de los cerebros, el rango, sólo
volvamos a la carpeta donde residen esos dos archivos. Y voy a tomar una copia del Brain Stofile sosteniendo ahora el control y simplemente arrastrando a copioso. Entonces vamos a renombrar esto con otro rango. También lo son ficticios. Empresa ha arreglado llamado Comunión Do. Y si volvemos ahora a nuestro código, podemos cambiar nuestros criterios. Y también el nombre del archivo el nombre de la bilis objetivo. Entonces, al tener mi constancia de la parte superior aquí, solo hace que sea mucho más fácil actualizar estos valores literales y que mi código haga algo ligeramente diferente. Pronto se acaba de probar. Y como pueden ver, ahora crea un comité do archivo. lo único que me olvidé de cambiar waas el nombre o la hoja de trabajo. Entonces solo voy a cerrar esta ciudad en entonces aquí str Criterios también se pueden usar. Pregunta el nombre de la Calle del Trabajo así que corre aquí. Tenemos permitir productos elogiados en la hoja de trabajo ahora tiene el nombre correcto. De acuerdo, Así que el mejor consejo siempre use definiciones constantes en lugar de valores literales para asegurarse de que su código sea mucho más fácil de actualizar en mantener.
22. 2.8. Usar MsgBox para la salida: el V B. Se utiliza una función de cuadro de mensajes tanto para transmitir información al usuario como para obtener retroalimentación
del usuario. En este video, estamos mirando hacia fuera, ponemos información usando la función de cuadro de mensajes, y en el siguiente video, pasaremos a buscar la retroalimentación del usuario. Por lo que en nuestra carpeta de capacitación, seguimos trabajando en 02 elementos clave del código B B. A. Ahora abramos 08 usando un cuadro de mensaje para la salida. Vamos a la pestaña de desarrollador en Haz clic en Visual Basic a Lourdes, el editor visual basic de VB aquí a la izquierda, verás que actualmente no tenemos ningún módulo, Así que vamos a remediar eso yendo a insertar módulo. Y solo voy a renombrar el módulo usando la ventana Propiedades y llamémoslo em y su gente. Pondré entonces a la ventana de código a menos que en lugar de macro mi juego para insertar procedimiento , llamemos a la macro básica en votos para que podamos construir sobre lo que se cubrió en el último video,
a saber, Constance. Vamos a crear Constance para mantener los atributos del cuadro de mensaje que se creará,
es decir, el título en el prompt. El primer pozo constante, en realidad para el Bronx. Y ese es el texto que se muestra dentro de los looks de burbuja para usar la palabra clave Const Str String, y lo llamaremos prompt. Y luego hagamos otra constante para el título Bento realmente mostrar el cuadro de mensaje usará la sintaxis longhand, el B B A. Got contraction got message box, y te recomendaría que sigas haciendo esto por un tiempo solo para recordarte dónde encaja el cuadro de
mensajes dentro del gran esquema de las cosas. Por lo que no es parte de Excel. Es parte de Phoebe A por su parte de la clase de interacción porque el cuadro de mensajes es la única declaración en esta línea de código. No necesitamos corchetes. Sólo necesitamos un espacio. Entonces vamos a seguir de nuevo las mejores prácticas. Esto no es esencial, pero solo es muy útil hacer cuando aprenderás en B b A. Y posteriormente vamos a poner el nombre fuera de los parámetros tan pronta. Y por supuesto, nuestra pronta es constante. Ese es tu problema. Coma y debajo de la escuela, que es el personaje de continuación. Y luego vamos a tabular a través de una línea, el segundo parámetro que vamos a usar bajo el primero. Entonces porque nombramos en nuestros parámetros, podemos ponerlos en cualquier orden. Entonces el 2do 1 voy a poner su título y hay un tonto es str cycle, y lo pondremos así otro personaje de continuación y el 3er 1 vamos a poner sus botones. Este parámetro te da muchas opciones. Y es este parámetro el que determina si vas a usar el cuadro de mensajes para salida o entrada cuando lo usas para la salida. Te interesa definir la naturaleza del mensaje. El mensaje que estamos mostrando aquí es con fines informativos. Entonces una buena para ti para eso es información BB. Entonces veamos el resultado en Aquí están los resultados de usar la información obtenemos la poca información como en pantalla Siguiente mensaje cualquier más senadores que tenemos un ping solo para contrastar eso con el llano viejo que bloqueo. Si elimino este último parámetro y vuelvo a ejecutar, no
hay pitido y no hay icono. Y ahora veamos un contrato con un mensaje de advertencia. Vendrá macro, solo pegarlo encima del original. Por supuesto, tenemos que cambiar el nombre Llamémoslo un mensaje de advertencia. Esta vez quiero estar en nuestro título siempre. Cambiemos el ícono que mostramos dentro de la caja de diamantes, no sólo retrasamos el viejo. Para poder exhibir la inteligencia bajada que vimos aquí usaremos la exclamación. Por lo que las mujeres corren de nuevo, nos ganan, y esta vez tenemos un triángulo de advertencia para indicar que se trata de un mensaje de error. Por lo que a medida que usted concede, el parámetro de botones proporciona la función de cuadro de mensajes con bastante flexibilidad. Esta flexibilidad incluye la obtención de retroalimentación del usuario, que es lo que cubrirá en el siguiente video. Pero antes de salir de éste sólo para señalar también que se puede tener bastante
información en el cuadro de mensajes y se puede mostrar la información en múltiples líneas. Basemos otra copia para original algún procedimiento, y sigamos siendo éste detallado en votación. Entonces digamos que queremos darle alguna información al usuario sobre opciones de soporte técnico
,por , lo que cambiaremos el título a soporte técnico. Y entonces digamos que queremos tener un mensaje de tres líneas en la primera línea. Queremos decir Hay tres formas de tener dolor, soporte
técnico y luego queremos dejar una línea en blanco y Tabin y poner el primer método . Entonces para hacer eso, solo
podemos usar el espacio de carácter de continuación debajo de la escuela y luego simplemente continuar nuestra cadena en las siguientes líneas. Solo estoy teniendo una cruz, luego usando ampersand para continuar con la cuerda. Y luego podemos usar un par de constancia que tiene la b A que son nueva línea en tab otra vez , No
vamos a poner sólo las constantes. Podemos usar las manos largas en impuestos solo para recordarte dónde viven estas constantes. Por lo que esa parte de BB A y están en una clase llamada Constance V B una Constanza oscura. Y luego cuando vuelvas a presionar punto arriba, vendrán Así que no seremos la nueva línea y queremos tabular, que también es constante. Por lo que ampersand b b a dot constance no se torne y de hecho, también
queremos tener unas líneas en blanco solo a nuevos caracteres de línea. Entonces sólo voy a copiar ese trozo de código en un lugar hoy. Por lo que tienes nueva línea nueva línea de ataque. El primer método es portar ampersand. Entonces queremos tener otra línea en blanco en Tabby. Entonces solo copia esto. Uso en control y arrastre. Simplemente ignoro el hecho de que eso temporalmente piensa que he cometido un error porque el espacio de
los personajes de innovación vienen a la escuela. Ban la mayor parte de esto como Así que cuando te acostumbras a ser una sintaxis, obviamente puedes simplemente poner ser la nueva línea en BB town. Pero te recomiendo, uh, mientras estás aprendiendo, solo sigue usando estas largas manos en impuestos. Y también notarás que cuando usas esa sintaxis, sí
obtienes el beneficio de la inteligencia. Entonces cuando meto mi punto aquí, Su Majestad, en absoluto están listadas las constantes. Entonces ese es otro beneficio de usar la técnica de mano larga como mecanismo de aprendizaje. Entonces vamos a probarlo. Y son las tres líneas sin nuevos personajes de línea y nuestro personaje de tabulación pateando. Es una ficha bastante grande. Siempre lo encuentro en denso bastante considerablemente, así que mucha del tiempo quizá prefieras solo usar espacios. Pero sólo para señalar, ese personaje podría ser usado dentro de sus cuadros de mensajes. Por lo que concluye nuestra mirada a la salida en la información usando el cuadro de mensajes. En el siguiente video, pasaremos a mirarlo. Obtener en los comentarios de los usuarios mediante un cuadro de mensajes.
23. 2.9. Usar MsgBox para entrada: en este video, pasaremos a mirar el uso de la función de cuadro de mensajes para la entrada del usuario. En el último video, vimos cómo se usa puramente para la salida, pero es muy flexible. También se puede utilizar para ingresar. Para que conozcas 02 elementos clave de B B. Un código no estamos en contra de las armas 09 Usando la función de cuadro de mensajes para entrada y luego en la pestaña de desarrollador, hacemos click en Visual Basic, y aquí encontrarás que tenemos una macro, que escribimos algunos videos atrás, que simplemente filtra usando el interior grito especificado y luego copia los datos filtrados un libro separado. Entonces lo que queremos hacer es antes de que se ejecute esta subrutina, queremos comprobar con el usuario si los datos están listos. El usuario puede contestar sí o no. Entonces veamos cómo esas cosas. En primer lugar, notarás que he cambiado el sub público a hijo privado, y el resultado de eso es que es una caballa bhangra. Entonces si volviera a sobresalir y miro mi macron, verás que ya no aparece en la lista. Lo que esto significa es que esta subrutina es sólo ahora de ellos. No es gente para Macron que te llame. Ahora escribe una macro. Nuestra macro puede llamar a esta subrutina, pero la subrutina no podemos correr como macro por derecho propio? Voy a insertar una macro usando este procedimiento, y simplemente llamémoslo principal, y voy a moverla a la parte superior de la pila, como seleccionarla al arrastrarla a esa ubicación. Entonces lo que queremos hacer aquí es mostrar un cuadro de mensaje y luego capturar el resultado si
el usuario hace clic en el botón sí o en el botón no. Entonces, solo echemos un vistazo a la sintaxis involucrada al entrar en vista Object browser. Y aquí está nuestro buzón de mensajes. Está en el V B, un cuadro de mensajes de interacción bibliotecaria, y cuando miras la descripción, verás que tiene los parámetros, algunos de los cuales hemos estado usando. Y luego al final, tenemos esta palabra clave, como sigue el resultado del cuadro de mensaje VB, y esto nos dice que esta función devuelve valor del tipo Fyvie resultado del cuadro de mensaje, y esto básicamente es una colección de Constance . Entonces si hago clic en este enlace. En realidad me muestra cuáles son los valores posibles. Por lo que estos son los miembros fuera de los resultados del mensaje de VB pops, y básicamente indican en qué botón ha hecho clic el usuario. Entonces estaremos usando el VB. Sí, no hay tiempo. De ahí que los dos posibles resultados sean baby No on, baby. Sí. Entonces lo primero que haremos es declarar una variable fuera del cuadro de mensaje VB tipo de resultado tan tenue encendido,
Vamos a llamarlo VB un resultado como resultados del cuadro de mensaje del bebé. Por lo que ahora cuando venimos a mostrar el cuadro de mensajes, necesitamos capturar el resultado. De ahí que
digamos, Seamos un resultado igual. Y esta es una de esas ocasiones en las que podríamos ignorar las sugerencias de inteligencia. Ninguno de ellos es lo que buscamos. Lo que realmente queremos hacer es mostrar un cuadro de mensaje, así que usamos B B A interacción de pensamiento no mensaje cuadro, y luego necesitaremos paréntesis porque el cuadro de mensaje no es la única declaración en la línea y luego el parámetro prompt y luego usará el parámetro buttons para especificar que es un cuadro de mensaje BB Yes, no style. Por lo que botones carbón encendido. ¿ Me llama ser? Sí, no. Entonces sin ese parámetro, no
tendríamos los dos botones que necesitamos para obtener el correcto cuando el usado para probar el resultado necesitará un comunicado if y realmente discutiendo los pagos hasta la siguiente sección son bastante directo. Y creo que mucha gente los habrá encontrado como funciones excel el excel una función. Es muy similar. De hecho, todo
caso, piensa aquí la estructura básica es que tenemos la palabra clave. Si entonces tenemos una prueba y luego la palabra clave entonces especificamos las declaraciones que
queremos ejecutar. Es cierto. Entonces tenemos la palabra clave más seguida de las declaraciones a ejecutar. Si la prueba es falsa, Onda, entonces
cerramos con el final. Si con el final si declaración tan muy sencillo. Entonces test básicamente va a ser off vb un resultado y estamos probando para ver si es igual sí y por supuesto, habiendo definido el tipo cuando tipeo signo desigual, me
da todos los valores posibles Así que solo puedo hacer doble clic en B B. Sí, afirmaciones
verdaderas lo harán básicamente, si los datos están listos, solo
quiero correr o llamar a mis datos de copia, dicho procedimiento. Para hacer eso, literalmente
puedes simplemente poner el nombre del sub procedimiento, y eso hará que ejecute el sub procedimiento. En ese punto, las
mejores prácticas siempre para usar las llamadas de palabra clave, aunque sea opcional. Simplemente te da más de una pista cuando tu escaneo en tu código, donde se han realizado llamadas a algunos procedimientos si los datos no están listos, mostrará un mensaje de error y detendrá la macro. Entonces este va a ser otro cuadro de mensajes. No hay necesidad de paréntesis, porque el cuadro de mensajes es la única declaración en la línea. Sólo un espacio y luego en un prompt y otra vez usará el parámetro botones on. Esta vez habrá explicación. Eso es todo. Entonces esa es nuestra macro. Vamos a probarlo y en primer lugar, dará clic en. No Data no está listo. Ahí está nuestro cuadro de mensajes dando patadas. Ahora volvamos a probarlo con el botón sí. Entonces cuando hacemos clic, sí, se va adelante y se ejecuta la macro y este resultado en do informe creado para nosotros. Vamos a cerrar esa hacia abajo. Te encontrarás con un montón de código donde el resultado de la evaluación fuera del cuadro de mensajes se realiza usando valores
numéricos. Pero te recomiendo que ahí, cuando estés haciendo esto, sobre todo como principiante, siempre
debes usar los resultados del cuadro de mensajes VB como tu tipo de datos. Simplemente hace la vida mucho más fácil, porque aquí no te has preocupado, pero en valores numéricos por barra espaciadora controlada express, entonces siempre me va a mostrar cada valor posible como un constante. Esa es una rápida mirada a cómo puedes usar el cuadro de mensajes para la entrada. De lo que no se puede hacer. Por supuesto, mi cuadro de mensaje es demasiado escriba un valor, pero que necesita cuadro de entrada. Y hay dos sabores, uno suministrado por Phoebe A, que es bastante básico, y una variedad más avanzada, que es suministrada por el objeto de aplicación. Y estaremos viendo estas dos variaciones en los próximos dos videos
24. 2.10. Usar VBA InputBox: en los siguientes dos videos, vamos a ver las dos variaciones de la función de cuadro de entrada, que tienes a tu disposición como programador. El primero es el V B, una caja de entrada, que se verá en este video. Y luego hay una versión un poco más avanzada, que es el cuadro de entrada de punto de aplicación, y lo veremos en el siguiente video. Entonces en 02 elementos clave del código B B A, abramos el uso número 10 en el BB, un cuadro de entrada, y luego pasemos al editor visual básico. Encontrarás que tenemos un solo módulo, y cuando vayas dentro de él, tenemos la macro de datos de copia que creamos en un video anterior, y lo que queremos hacer ahora es en lugar de tener una constante para determinar los criterios que se está utilizando, queremos que el usuario suministre los criterios. Entonces lo primero que haremos es deshacernos de la constante de objetivo STL, y solo usaremos str cry interior para determinar qué cuaderno de trabajo está abierto sobre los criterios que usó para Niños. Simplemente voy a eliminar esta línea y luego sólo por claridad. Dado que esto ya no será una constante, se convertirá en una variable. Vamos a cambiar el caso. Por lo que usar mayúsculas es la convención para distinguir a Constance de las variables. Entonces sólo voy a hacer, encontrarlo y reemplazarlo. Es reemplazar y solo pondremos esto en un caso normal y ahora necesitamos convertirlo en una variable. Por lo que Const se vuelve tenue y, claro es igual Entra. Do ahorita se vuelve obsoleto, no permitido porque las variables no se pueden declarar y asignar valor al mismo tiempo. Y luego vamos justo debajo de un comentario aquí que necesitamos que el usuario proporcione un valor para
los criterios str . Por lo que habiendo eliminado str target, ahora
necesitamos reemplazarlo con criterios str. Entonces cuando llegamos a abrir el cuaderno de trabajo objetivo se tomaron la ubicación del libro de trabajo que contiene esta macro mediante el uso de pasado oscuro y luego etiquetamos en lo waas una constante. Entonces lo que ahora tendrá que hacer es simplemente construir esto como una cadena que incluya nuestra variable de
criterios str . Entonces solo para recordarte la estructura de la ruta, aquí está el trabajo con la macro contiene fuera, por lo que ruta de punto significa esa carpeta que contiene este libro de trabajo. Entonces etiquetamos en una contrasta yendo a la etiqueta de carpeta de ventas en STR Criterios porque eso
contendrá el nombre real del rango y luego finalmente etiquetar en punto XLS X. Pero mientras la extensión. Entonces aquí cuando venimos a abrir cuaderno de trabajo objetivo, tenemos aplicación no este trabajo hasta el pasado y luego después del n por ciento, ahora
podemos poner festival la contralga Ben ventas otra contralora cerrar la cadena ampersand str criterios y finalmente y por ciento no x X, lo que se asegurará que abrimos el libro correcto para copiar los datos filtrados en. Y por supuesto, los criterios
STR ya están en su lugar. Entonces todo lo que tenemos que hacer ahora es poblar los criterios str por una caja de entrada. Entonces para hacer esto, se va a dejar porque es el criterio str variable de datos igual y luego el cuadro de entrada . Utilizamos esta parte de la d A. Es un miembro de la clase de interacción y debido a que la función de cuadro de entrada no es la única declaración en la línea, entonces
necesitará paréntesis. Ponemos nuestro colon pronta igual. Entonces podríamos poner un título. Y luego especifiquemos un valor predeterminado, y eso es todo lo que necesitamos. Entonces vamos a probar nuestro código. Ahí está nuestro defecto. Yo lo reemplazaré. Y cuando haga clic en Aceptar, sube entraré. Hacer cuaderno de trabajo con los datos filtrados. Vamos a cerrarlo y vamos a probarlo de nuevo. Y esta vez dejan el valor por defecto y ahí están nuestras cosas cerebrales. Informe. Entonces esa es la V B. Una versión fuera de la función de caja de entrada, y lo clave a recordar es esta limitación que tiene. Siempre devuelve un valor de cadena, por lo que es fino, rápido y fácil de usar para mucha interacción con el usuario. Pero si estás interesado en que el usuario ingrese valores numéricos, entonces el cuadro de entrada de punto de aplicación, que se verá en el siguiente video, es una opción mucho mejor.
25. 2.11. Usar la aplicación MsgBox: en este video, echaremos un vistazo a la caja de entrada de punto de aplicación y examinaremos el parámetro, que lo hace un poco más sofisticado que la variación V B A. Por lo que ahora 02 carpeta. Vamos al último Archivo 11 usando el cuadro de entrada de punto de aplicación, y luego se va a visual basic. Lo que queremos hacer aquí es crear una nueva versión a partir de una macro que hicimos algunos videos atrás donde le pedimos al usuario que ingresara valores para luego poblar tres celdas dentro de este asiento de
trabajo. Por lo que ponemos una cantidad en un 15 la descripción y ser 15 y luego un precio en E 15. Entonces si utilizo una aplicación en cuadro de entrada, solo
podemos comprobar que el usuario ingresa un valor numérico en cantidad a un precio unitario, solo para recordarte también que hemos nombrado nuestras hojas así como el nombre de la pestaña. En realidad tenemos un nombre en código al que nuestro bebé un código podría referirse, por lo que está dentro de macron. Procedimiento de inserción. Solo llamémoslo datos ingresados para que podamos empezar con factura patrimonial no alcance 15 igual, y esta vez es caja de entrada de aplicación, y cuando aparezcan los parámetros, verás que son muy similares a la V B. A caja de entrada. Tenemos los problemas. Tienes un título. Se puede establecer un valor predeterminado. Pero la diferencia importante es que tenemos este parámetro final aquí llamado tipo. Y esto es lo que nos permite especificar el tipo de datos que aceptará el cuadro de entrada. Y si entonces el usuario ingresa una hora diferente, se genera automáticamente
un mensaje de error. Entonces vamos al navegador de objetos y echemos un vistazo a estos Intacs. cruzarán para sobresalir para esto en el objeto de aplicación un hombre se desplaza hacia abajo hasta cuadro de
entrada, lo
que obliga a una función se han seleccionado un objeto se presiona F uno o se pulsa en el botón de
ayuda. Se te llevará al único y ayuda y se te dará una descripción de ese objeto. Entonces nos desplazamos hacia abajo. Tenemos una descripción de nuestros parámetros, que son más o menos los mismos que los parámetros BB A. Pero entonces el que nos interesa está apretado cuando nos desplazamos aquí abajo, nos
da las diferentes opciones que puedes usar. A los dos que estaban interesados en, uh, número y texto en un video posterior le echarían un vistazo a qué? Usando el cuadro de entrada para agarrar una referencia de celda del usuario, lo cual también es bastante útil. Entonces como puedes ver, si especificamos el tipo uno que hace que nuestro cuadro de entrada sea numérico y especificaría el tipo dos que lo
convierte en un cuadro de entrada de cadena. Por lo que se convirtió en nuestro código. Empezaremos con el prompt un hombre que es eso en el título y finalmente el tipo. Y por supuesto ponemos uno para que sea numérico, y entonces simplemente podemos copiar esta línea. Por lo que estoy sosteniendo el Dragón de Control. Una de las cosas molestas es que cuando haces eso, no
deja el punto culminante en su lugar. Por lo que si quieres volver a copiar, debes resaltar manualmente los datos nuevamente y luego controlar arrastrar para copiar. Por supuesto, esto se convierte en una descripción sobre el tipo aquí es para entonces tenemos el precio unitario, que de nuevo es uno. Y por último, cambiemos nuestras referencias celulares para ser Andi. Entonces, como dije, el principal beneficio de esta aplicación, no de caja de entrada, es la validación de datos incorporada. Entonces pongámoslo a prueba y déjame teclear t w o en lugar de poner el número dos. Y cuando haga clic en Aceptar, verá que tiene una forma aromática ingresada automáticamente. Entonces eso solo te recuerda lo que tengo que hacer. Entonces se lo pondré a y mi descripción y otra vez, no le
gusta el texto y me veo obligado a poner un número. Entonces están mis tres valores. Por lo que en cualquier momento que estés ingresando valores numéricos, siempre usa aplicaciones de cuadro de entrada con preferencia a la V B a versión.
26. 3.1. Si las declaraciones: en esta sección estará mirando VB a estructuras de control Las estructuras de control permiten
agrupar múltiples líneas de código de maneras útiles. Los dos tipos principales de estructura de control uh, condición ALS y condiciones bucles ALS permiten ejecutar varias líneas de código basadas en los resultados de las pruebas lógicas. Los bucles permiten realizar múltiples líneas de código repetidamente, y son muy útiles para el proceso en múltiples objetos. Entonces, por ejemplo, cada archivo y carpeta o cada hoja de trabajo en un cuaderno para conseguir que el balón rodando en esta sección, empecemos por tener el look de, if statement, lo que 03 BB A declaraciones de control. Abramos uno if statement y luego vamos al editor visual básico
encontrarás que tenemos un solo modelo M if statement y dentro de ella es una macro que hemos visto un par de veces, que pide al usuario que suministre criterios y luego usa ese criterio para filtrar algunos datos y copiarlos en otro libro de trabajo. Entonces lo que queremos hacer aquí para practicar usando if es hacer que nuestro código se ejecute tanto en Windows como en versiones Macintosh de Excel en este momento, solo
se ejecutará en máquinas Windows. Eso se debe a que el sistema operativo Mac no reconoce barras contrarias en las rutas de los archivos. En cambio, utiliza Colón como separador. Entonces si queremos que esto se ejecute tanto en Mac como en Windows, tendremos que asegurarnos de que comprobamos para ver la versión y luego usar una ruta de archivo, que es apropiada para ese sistema operado. Entonces como hemos usado una constante para atacar al final de la ruta del archivo, obviamente
entramos en medio código, que intenta cambiar ese valor. Entonces lo que hará en su lugar es crear dos constantes una para Windows, que es una que ya tenemos y luego una vez una Mac. Por lo que solo voy a seleccionar esta línea, mantenga presionada mi tecla de control y arrastre la línea para copiarla. Y luego cambiemos el nombre de la copia. Fuente Str. Mac debajo de la escuela de vuelta para legibilidad. Y luego cambiaremos esto a un formato que el Mac entenderá. Por lo que simplemente ponemos carbón en lugar de barra inclinada. Así que ahora cuando vengamos a abrir el libro de trabajo fuente y construimos nuestras rutas de archivos en lugar de simplemente tomar en str source necesitará probar para ver qué sistema operativo se está utilizando en cualquiera de las etiquetas en str source o str source. Mac. Entonces, para hacer condicional esta línea, así es. Pero dentro de una declaración if y solo voy a tocar la línea en, solo presiona la tecla de tabulación para moverla solo por legibilidad. Entonces la estructura fuera de una declaración if es. Si Test Onda test es cualquier prueba lógica en otras palabras, una que sólo puede evaluar verdadero o falso, entonces se ejecutará esta línea. Si la prueba es cierta, no
tenemos la palabra clave else y luego otra línea que se ejecuta Si la prueba es falsa, entonces obviamente va a ser un alma muy similar. Basta con controlar arrastrar para copiar esa línea y para cerrar la sentencia if tenemos que usar y si es así , en una simple sentencia if, las de la palabra clave o. Entonces tenemos si entonces lo demás y si es así, digamos que vamos a probar para ver si el sistema operativo está de vuelta tan claramente si es Mac, vamos a querer str sore smack en lugar de str source. Simplemente reemplazaré eso por fuente str. Mac. Ahora necesitamos llegar a una prueba que verifique que el Macintosh y para hacer la prueba, voy a usar el sistema operativo adulto de aplicación. Esta es una propiedad del objeto de aplicación, que devuelve una cadena. El string no consiste puramente en Windows o Macintosh, pero se agobiará con Windows o Macintosh. Entonces mi prueba simplemente va a ser hace aplicación o sistema operativo. Empieza con la palabra Macintosh para probar si empieza con la palabra Voy a usar la función
izquierda, que probablemente te hayas encontrado en las fórmulas de Excel. Como de costumbre, voy a escribirlo a largo plazo, así v b a. Y está en las cadenas cierran, no a la izquierda cuando abres paréntesis tras tipo en un nombre de función. Normalmente, Excel mostrará una punta de herramienta, mostrándote los nombres de los parámetros y el orden en que van. Creo que es porque la palabra Ben sigue los paréntesis abiertos. Entonces si acabo de cerrar mis paréntesis y luego volver a seguir, entonces sólo pongamos la apertura que Prince ve de nuevo. Ya puedes ver ahora muestra los dos parámetros, y de nuevo, voy a entrar en modo exagerado y en realidad poner los parámetros nombrados. Por lo que primero de todo string colon es igual. Y aquí es donde necesitaré mi sistema operativo punto de aplicación. Esta es la cadena en la que estaré operando y comprobando si comienza con aplicación
Macintosh, no coma del sistema operativo. Y luego la segunda es la lente o número de caracteres que se quiere extraer a
partir de la izquierda. lo que
la longitud, por supuesto, va a ser el número de caracteres en la palabra Macintosh, que es nueve. De acuerdo, entonces lo que voy a decir es, si todo eso es Macintosh, así que ahora simplemente escribo igual a empacar y se enfría. Ser texto tiene que ir entre comillas dobles, así que ese es el primer trabajo. Pero el cuaderno de trabajo fuente y hemos asegurado que str path contendrá la
constante apropiada para el sistema operativo en uso. Ahora podemos simplemente copiar ese enunciado if on, úsalo para el cuaderno de trabajo objetivo que abrimos aquí y otra vez, solo
voy a envolver esta línea al revés. Si declaración así la prueba será exactamente la misma. Simplemente pega eso en, y luego aquí tendríamos nuestro más. Entonces puedo copiar la línea en llave cerrada, y si es así, porque probamos para ver si se trata de un Macintosh. Este es uno que tendrá que cambiar. Por lo que necesitamos Trade es el estilo de eso al estilo de una ruta de archivo Macintosh. Y eso lo hacemos poniendo a Colón en estas dos posiciones. Entonces eso es todo. Por lo que hemos asegurado estábamos intentando abrir un libro de trabajo que hemos construido en una ruta de archivo que el sistema
operativo podría entender. Entonces ahora podemos simplemente transferir este código a un Macintosh y comprobar que se ejecute. Así que guárdalo y luego tenemos a través de un Mac. Entonces es antes que nada, echa un
vistazo al original antes de hacer nuestros cambios. Por lo que en esta versión, puedes ver solo tenemos str source es nuestra constante y usamos en barras contrarias en las
partes del archivo . Por supuesto, cuando bajamos a abrir nuestro libro de trabajo de fuente porque estamos tocando en str source, que son las rutas del archivo windows, se va a romper racha fuera intercambio de criterios para entrar hacer y de inmediato se ahoga. Ya ves, empieza con una vocal. Buster tiene Coghlan, pero entonces estamos tratando de clavar la fuente str, que es nuestra constante que tiene thes backsplashes, y es la contrasta es esa causa en ella? Entonces si hago click en De Buck, se subió. ¿ Cuál es la línea del problema? Podemos ver que es fuente STL, y esas barras inclinadas es básicamente la que causa el problema. Bueno, echemos un vistazo a la versión terminada. Entonces en esta versión, vamos a salir a constantes la versión de Windows, que usa barra inclinada contraria. Déjame hablar del hombre de la moda, que usa mejor el colon, que es lo que exige el sistema operativo. Entonces, cuando venimos a abrir el cuaderno de trabajo de Astle, lo
hacemos en nuestra prueba para ver si el sistema operativo es Mac y usamos una fuente STL de vuelta si es y STL tan smacking no es entonces para la lengua en el libro de trabajo, tú podemos ver que estamos haciendo la misma prueba. Estamos usando la versión de colon para Mac y la versión de barra inclinada para Windows. Entonces ahora corremos y de nuevo voy a cambiar los criterios para entrar hacer esta vez se
abre el cuaderno de ventas. Ese es el filtrado y las copias, los datos y nuestra operación completan con éxito. Así que vamos a cruzar para sobresalir aquí. Entonces entra, haz cuaderno Onda, nos oro Commander Data y la hoja de trabajo del archivo más bien se llama comunidad también. Entonces este es un ejemplo de usar la declaración simple que estás atendiendo básicamente para dos posibles resultados. Si de verdad es una mujer Botas. Y si la prueba es falsa, tomas otro en el siguiente video, pasaremos a mirar el if else, if version off the if statement, que te permite atender más resultados posibles.
27. 3.2. Si .... Las demás declaraciones de la persona se Else de más:: en este video, veremos la estructura if else if y la ventaja que esto ofrece sobre la simple declaración que vimos en el último video es que puedes atender múltiples eventualidades. Entonces ahora 03 del drenaje en carpeta Vamos a abrir cero a si lo demás si y luego en el sonido en
desarrollo. Vamos a dar click en Visual Basic y en el Explorador de Proyectos, podemos ver nuestros modelos. Tenemos un solo múltiplo llamado em si de lo contrario estoy dentro que tenemos este esqueleto fuera de la macro que vamos a escribir. Y el propósito de esta macro será detectar la versión fuera de Microsoft Excel, que está en la máquina del usuario, y estaremos usando el if else, if structure para probar todas las diferentes versiones que nos interesan. Cater en cuatro Y esas versiones van a estar en Windows Excel 2010 2013 y 2016 y en Macintosh Excel 2011 y 2060. Echemos un vistazo a las dos piezas de sintaxis que estarán utilizando además, por
supuesto, a la sentencia if. Entonces a la vista, elijamos navegador de objetos yendo a la biblioteca de Excel y veamos los objetos de la aplicación y las dos propiedades que estaban interesadas en primer lugar, sistema
operativo. Y causa que esto es una cadena, por lo que esto o bien contendrá la palabra windows o la palabra Macintosh, y luego la otra es versión. Y aunque esto es básicamente numérico, verás que en realidad se trata como una cadena. Entonces si queremos examinarlo como un número tendrá que convertirlo en un número porque la propiedad devuelve una fuerza. Por lo que comenzamos declarando las variables que queremos utilizar. Por lo que en primer lugar, queremos almacenar el nombre de la versión como en Excel 2010. Y esto, por
supuesto, tendrá que ser una variable de cadena para que podamos decir dim str versión string. Entonces queremos convertir esto en un valor entero. Entonces vamos también a dim onion t versión como interject y para probar el sistema operativo. Tengamos nuestra primera variable booleana para que podamos probar para ver si el
sistema operativo es Windows, y si lo es, pondremos 1,000.000.000 de valor a verdadero demonio bln wind como Julian Al trabajar con Excel fórmulas, probablemente
te hayas topado con las funciones de búsqueda y búsqueda. Estos permiten comprobar si una cadena ocurre dentro de otra. El equivalente en V B A es el in string function i n str Así que aquí podemos usarlo para probar si la palabra windows ocurre dentro del sistema operativo de aplicaciones y podemos poblar nuestra variable booleana bln win en consecuencia. Entonces la sintaxis para esto es dejar que BLM gane igual y luego podemos usar nuestro V b A en
función de cadena . Entonces está dentro de V B A. Está en la clase de cuerdas y es i n str Así que el primer parámetro es por dónde queremos empezar? Y queremos partir del personaje uno. Después especificamos la cadena dentro de la cual queremos empezar a buscar. Entonces ese es nuestro stream un parámetro y aquí es donde necesitamos que las aplicaciones sean
sistema operativo y luego finalmente especificamos lo que estamos buscando. Dentro de esa cadena, string two parámetro será la palabra windows. Esta función produce un número que representa la posición de carácter de cadena a dentro cadena uno. Por lo que mientras este número sea mayor que cero, sabemos que cadena a se ha encontrado en la ciencia durante uno. Es nuestra prueba necesita terminar con mayor a cero. Entonces ahora tenemos una prueba que poblará nuestra variable 1,000.000.000 con verdadero o falso. A continuación, vamos a convertir la versión para interponer. Entonces aquí vamos a poblar la versión I NT son en variable porque es una variable de datos . Vamos a usar la palabra clave opcional. Vamos así vamos a invertir igual y entonces necesitaremos un B B, una función de conversión, que es C int y la cosa que convertimos en su aplicación, no versión. Por lo que ahora tenemos las dos piezas de información que necesitamos con el fin de detectar la versión de Excel que se está utilizando para que ahora podamos entrar en nuestra declaración if. Por lo que empezaremos con 2010 en Windows. Entonces la prueba aquí va a ser. Si la inversión es igual a 14 que es la versión o 2010. Y también el triunfo de Yellen es igual a cierto. Entonces podemos poblar la versión str con Excel 2010 la versión STL es igual, y por supuesto, es una fortaleza. Excel 2010 y no he puesto el let esta vez, pero vamos a dejar pasar eso. Así que let str versión también está bien Y por supuesto, lo que ahora queremos hacer es probar para todas las demás versiones. Voy a copiar estas dos líneas seleccionándolas, manteniendo pulsado el control y luego simplemente arrastrándolas por debajo del original. Pero claro, solo
puedo usar la declaración if una vez que esté en la segunda prueba, lo
necesito más. Entonces ahora estoy probando para 2013 y esta es la versión 15. Y, por
supuesto, bln. ¿ Cuándo seguirá siendo verdad? Ahora copiemos esto para nuestra prueba de 2016. Por lo que aquí probamos la Introversión 16. Por lo que me olvidé de cambiar esto al 2013. Entonces eso es 2013 en adelante. Este es 2016 por lo que los alrededor de tres versiones de Windows ahora hagamos lo mismo para las dos versiones de
Mac. Por lo que solo seguiré copiando mi else if y luego modificando el arrastre de control de copia. Por lo que 2011 para Macintosh será el entero 14. Pero por supuesto, triunfo
bln será falso. Por lo que excel para Mac 2011. Y luego vamos a copiar que uno pequeño en esto será 2016 que será el entero 15. Por lo que hemos probado para todas las versiones que nos interesan evaluar. Si no se encuentra ninguno de los anteriores, entonces podemos suponer que se trata de una versión pre 2010 de Excel. Por lo que una parte final de la declaración será la otra. Y esto dirá versión de acero igual, Digamos, pre 2010 versión de Excel. Y luego cerramos nuestra y si y nuestra declaración si está completa. Y para completar la macro, solo
mostremos un cuadro de mensaje con la versión que se ha detectado. El B B A. No interactúe no mensaje cuadro con el prompt mejor su versión y etiquetará en la palabra usada en ampersand 57 detectada. Y eso completa nuestra macro. Guardemos los cambios. Andi. Actualmente estoy usando Excel 2016. Como se puede ver. No, de hecho, no
soy menos importante en Excel 2013. Yo sí me disculpo. Um, eso está bien. Entonces volvemos entonces debería detectar básicamente que estoy usando Excel 2030. Por lo que vamos a correr en su Indeed, se
puede ver Excel 2013 detectado. Entonces ahora solo lo voy a probar en las otras dos versiones,
las otras dos en esas versiones y luego en las dos versiones de Macintosh. Por lo que aquí estamos en Excel 2016. Y aquí están nuestros macarrones. Por lo que ahora debemos activar. Esta sección está siendo cierta. Eso funciona bien. El próximo 2016 ha sido detectado. Pasemos al 2010. Entonces este es el 2010. Aquí está nuestra macro. A ver si esta sección sobre declaración ahora da inicio. Eso funciona bien. Excel 2010 ha sido detective, por lo que las tres versiones de Windows se están detectando correctamente. Hagamos lo mismo con nuestras versiones para Mac. Entonces aquí estamos en Excel 2011 para Mac. El señor Smith, a través del editor visual básico. Entonces aquí, esperando la versión 14 en Windows. False para patearlo. Y eso es solo click en correr y luego podemos ver Excel para Mac, 2011 se ha detectado Eso funciona Fine. Excel 2016 para Mac. Cuando entremos al editor básico visual, va a ser un caso de dónde está todo. Como se puede ver en el editor básico visual, todo falta, básicamente. Pero aquí está nuestro código, y esta vez espero que en la última sección patee. Aquí está el programa play button run, y sí detecta Excel con Mac 2016. Entonces así funciona la estructura if y else if en el siguiente video, vamos a pasar a mirar caso selecto, que en la cara parece muy similar a si lo anunciamos. Pero lo principal a recordar cuando estás usando, si entonces lo contrario si es que con cada una de tus pruebas tienes una
declaración de 1,000.000.000 ligeramente diferente dice Podrías ver cada vez que tenemos una combinación diferente de versión y BLN ganar igual a verdadero. Entonces, en otras palabras, son las pruebas son mutuamente excluyentes. Nunca probamos en la misma cosa dos veces por razones obvias. Y luego tenemos un catchall. Por lo que nada de lo anterior es cierto. Entonces da inicio a la otra sección. Por lo que este es el principal beneficio de usar si entonces lo demás si impugnas las diferentes posibilidades. Ocho de las protestas que haces es único en el contexto de la declaración.
28. 3.3. Selecciona ... Caso: en este video, veremos la declaración Select Case. De cara a la misma. Es muy similar a la estructura si un else if que vimos en el último video. Pero su principal beneficio es su simplicidad. Echemos un vistazo a cómo funciona en la carpeta de capacitación en 03 v B A. Declaraciones de
control, Vamos a abrir 03 Seleccionar caso. Y aquí tenemos una sola hoja de trabajo llamada Welcome. Y lo que queremos que suceda es que cada vez que abras este cuaderno de trabajo, la fecha actual es esta hoja. Pero también incluiremos en Ordina, LOL. La fecha de hoy, por ejemplo, es el octavo de julio, por lo que realmente queremos que el th se calcule automáticamente e inserte en celda una. Entonces cuando vamos a desarrollar nuestro básico visual, no
vamos a crear un modelo porque no estamos escribiendo un baño. Se trata de programación de eventos. Esto es algo que queremos que suceda automáticamente. Y cuando ese es el caso, se utilizan estos objetos objetos excel. Siempre están ahí, una por cada hoja en una para el propio libro de trabajo. Entonces lo que haremos es hacer doble clic en este libro de trabajo y luego escribimos código en la ventana de
código. Mejores prácticas para crear el procedimiento solar. Es simplemente elegir libro de trabajo del menú desplegable en la parte superior izquierda anual, luego presentado con un procedimiento generado automáticamente sobre el evento predeterminado. De hecho, la apertura del cuaderno es, la que queremos, y empecemos definiendo las variables que necesitarán. Entonces lo primero que queremos rastrear es el día de la semana. Y eso, por
supuesto, es un entero. Entonces vamos a declarar una variable entera dim en hoy como en el trabajo. Y luego queremos elaborar el orginal apropiado para ese día. Y esto, por
supuesto, es una pieza de texto dos letras. Así que vamos a dim str ordinario una cuerda. Entonces esas son las dos variables que necesitarán y los pasos que queremos realizar. Solo pongamos algunos comentarios para eso. Entonces paso uno, extrayendo el día de la fecha dentro de nuestra variable de día. Esto se va a dejar porque es una variable de datos y hoy igual, y entonces obviamente vamos a tener que mirar dentro de V B A para encontrar la función adecuada. Entonces empezamos con b b a. Entonces miramos dentro de la clase de fecha
y hora, y aquí encontraremos Ok, esta es una función, y simplemente requiere una fecha. Y por supuesto, la fecha que nos interesa es la fecha de hoy, y vamos a mirar dentro de la misma clase. Entonces bebe un gran momento. Y esta vez simplemente calentamos fecha, y eso nos dará la fecha de hoy. Entonces estamos extrayendo la porción del día. Ah, la fecha actual. Por lo que ahora a nuestra selecta estructura de casos. Entonces dices seleccionar caso y luego nueve de cada 10 pondrás el nombre de una variable cuyo contenido quieres evaluar. Y en este caso, por
supuesto, es día de juego, y luego piensas en todos los valores posibles sobre lo que quieres hacer. Si ese es el caso, Entonces lo que queremos hacer es poblar str orginal con el orginal apropiado basado en el día. Entonces empecemos con S t el caso uno que será S T. Y puedes especificar varios valores posibles en una línea simplemente poniendo una
lista separada por comas . Por lo que 1 21 y 31 todos requerirían Sty es lo ordinario Así que la siguiente línea simplemente
pones lo que quieres hacer. Si ese es el caso y lo que queremos hacer es poblar str orginal con la cadena s t. Y como siempre, solo
voy a copiar y pegar porque se vuelve muy similar a partir de aquí. Por lo tanto, mantenga pulsado el control y arrastre la selección debajo del original. Ahora vamos a hacer nd so dos en 22 requerirán nd y luego finalmente rd Así que nuestro d el tercero y el 23 Y para cualquier otro número, simplemente
queremos poner th hay una forma especial de especificar cada otra posibilidad y que su caso lo más nada de lo anterior la verdad hacer lo siguiente Vamos a robar más viejo. No, llamas a th y para cerrar un Selectric. En una declaración se utilizó la sintaxis y seleccionar. Por lo que obviamente podríamos haber usado una estructura if else if para esto. Pero se puede ver qué tan ordenada y concisa se pone en marcha esta forma particular de hacerlo. El motivo es que, por
supuesto, sólo
estamos evaluando una variable. Y entonces tenemos todos estos posibles resultados para esa única variable. Entonces aquí es donde seleccionar casos más apropiados que si de lo contrario si un otro si es genial cuando estás probando para cosas diferentes cada vez. Pero si solo estás evaluando la misma afirmación o la misma variable que casos selectos, mucho más eficiente dijo que lo último que queremos hacer es generar la fecha usando lo viejo , ya
sabes, en una celda, uno. Entonces porque vamos a trabajar con esta hoja que se llama bienvenida Mejores prácticas para
darle un nombre, un nombre en clave, como se refiere. Y lo haces en la hoja de propiedades justo aquí en solo voy a usar el prefijo s edad, así que shh, bienvenido. Y entonces podemos referirnos a esa hoja con ese nombre en nuestro código. Entonces simplemente decimos que los estados bienvenidos no llueve y es uno. Va en pensamiento cercano, valor igual. Entonces lo primero que queremos es en hoy y por ciento. Entonces queremos la str orginal orginal y luego queremos etiquetar el resto de la fecha. Entonces para hacer esto, podemos usar la función de formato dólar en solo para mostrarte dónde vive esto, vamos a ver el navegador de objetos, por lo que obviamente es parte de V b A a diferencia de sobresalir en sí mismo, y está en las cadenas clase. Entonces aquí está. Vamos a formatos y ex dólar. Hacen lo mismo que la ventaja del formato dólar es. Devuelve una fuerza. Si has utilizado la función de texto en Microsoft, excel en fórmulas y formato. Dólar es muy similar, así que podemos terminar esto diciendo VB un doctor cuerdas pensé formatos Golán. Un hombre entre paréntesis. Decimos lo que queremos formatear, que, por
supuesto, es la fecha. Entonces ese es el V B. Un estado de tiempo estado coma. Y luego entre comillas, ponemos nuestro formato por lo que necesitaremos un espacio. Entonces el mes, que es cuatro EMS para el nombre completo del mes que otro espacio y luego cuatro sabios para un cuatro dígitos. Sí, y eso es todo. Por lo que hemos podido cafeína juntos todo lo que necesitamos para componer una fecha que contenga la orginal
apropiada el. Porque ponemos en esto dentro de este cuaderno de trabajo en el cuaderno de trabajo, abre algún procedimiento. Se pondrá en marcha automáticamente cada vez que abras este libro de trabajo. Entonces vamos a probarlo. Simplemente necesitamos cerrar el duelo, y luego podemos cerrar el cuaderno y reabrirlo, y luego sale ocho, que es el octavo de julio
29. 3.4. .... Siguiente bucles: los instructores de bucle permiten a los programadores ejecutar un bloque de código repetidamente y en VB, un particularmente útil el proceso en todos los objetos dentro de una colección. Empezaremos nuestra mirada a los bucles con el bucle for next. Por lo que 03 BB a declaraciones de control. Abramos 04 para los próximos bucles. Y luego va al editor básico visual haciendo clic en el bache básico visual. Y aquí podemos empezar a comprar dentro en el módulo. Vamos a renombrarlo yo m completo siguiente, y luego está lamiendo la ventana de código de la derecha aquí en insertar un procedimiento i e. un macron, demostrando hacia fuera cuatro entradas. Pierde trabajo. Vamos a crear una macro corta llamada interés y usaremos la facilidad de voz para hablar una intro al usuario. Entonces lo primero que debes hacer es definir un contador. Y hay un poco de tradición en todos los lenguajes de programación que llamas el contador I. Así que encontrarás esto en mucho código que te encuentras donde se está utilizando el encuentro. Yo, que obviamente es corto. El indigente es el nombre de tu contador, así que sigamos con esa tradición, y tenemos tenue yo como entero. Entonces, obviamente, un contador es un número entero, así que o va a ser entero, o si estás tratando con números grandes, entonces largo entonces la estructura básica del bucle es cuatro. Contador equivale al valor inicial al valor final, y está cerrado con contador siguiente Decir, en otras palabras, repite el nombre del contador después de la palabra siguiente para indicar cuál de sus bucles se termina en esa línea. Y luego, entre esos dos, podrías tener tantas declaraciones como quieras. Y para hacer el mejor uso del bucle for next, normalmente
utilizarás el contador de alguna manera dentro del bloque de código. Entonces el ejemplo que vamos a usar va a usar el contador I porque esa es la variable
contador que acabamos de declarar. Y el valor de la piedra será uno, y el valor final será de tres. Entonces demasiado cerca los ojos el nombre del contador. Por lo que el siguiente contador obviamente debería ser el siguiente. Yo en esto solo para recordarte para que sepamos qué bucle está terminando en esa línea porque es posible que podrías tener un bucle dentro de otro. Entonces vamos a hacer es felizmente feculento, no hables, No hables. El texto va a ser simplemente yo tan bien aquí, nuestra voz robótica diciendo 123 Entonces por supuesto que se detiene. Y luego después de que se detuvo, podemos decir aplicación, no discurso, no hablar texto lo es. Entonces vamos a probarlo. Quieres a tres. Golpéalo. También puedes bucear en reversa. Entonces vamos a copiar este código y sólo modificar la copia para que tengamos una cuenta regresiva. Al igual que en 54321 tenemos lift off. Entonces para hacer esto, usamos cinco como el valor de inicio en el primer día como el final en valor. Y entonces solo cambiaremos esto para que tengamos lift off y también cambiemos el nombre. No obstante, cuando estoy corriendo, tenemos lift off. Se va directamente a esta línea en el bucle se pierde por completo. El motivo de esto es que para llegar del valor inicial al valor final, B B A desperdiciará en uno por defecto. Entonces lo que tenemos que hacer es anular ese defecto y decirle dedo del pie agregar menos uno, porque de lo contrario nunca va a llegar de 5 a 1 y la palabra clave para hacer eso es paso, así que ponemos paso a menos uno. Después inicia a las cinco AGS menos uno, que lo lleva abajo a cuatro y así sucesivamente. Entonces cuando ahora corremos está bien para tres a uno, tenemos lift off. Entonces ahora que hemos echado un vistazo a la mecánica del bucle for next, vamos a crear una macro, que hace algo un poco más útil. Digamos que queremos tener una macro que cree un libro de trabajo que tenga hojas numeradas como usted sabe, los nombres por defecto para hojas de trabajo en Excel Nuestra hoja una hoja a etcétera. Digamos que queremos una macro que cree un libro de trabajo y luego renombrar las hojas puramente con números. Entonces solo 1234 y podrías hacer esto si, uh, necesitas libros de trabajo con mucho trabajo se alimenta, ¿quieres solo hacer los nombres lo más cortos posible para que las pestañas sean visibles y fáciles de navegar? Entonces la caja fuerte, un poco de tipo, y voy a iniciar mi copia en esta macro solo para recordar si mantienes presionada la
tecla de control y luego arrastras el texto seleccionado a una nueva ubicación. Se copiará. Entonces llamaremos a éste nombres numéricos de calles, y luego sacaremos las líneas no deseadas para que el límite inferior se quede como uno, como en la hoja de trabajo uno. Pero necesitamos calcular el límite superior. No sabemos cuántas hojas contendrá el cuaderno. Esto depende de la configuración del usuario. Entonces vamos a declarar otra variable no indicaba como en Georgia. Y como probablemente sabrás, los límites son. Uno es el mínimo y 255 es el máximo, y también necesitaremos una retención variable del dedo del pie, una referencia al libro que se crearon. Entonces W k b nuevo eso es lo que libro. Por lo que creamos un nuevo libro de trabajo y le ponemos una referencia dentro de wk ser nuevo. Entonces debido a que esta es una variable de objeto, utilizamos la palabra clave set bkb new igual a aplicación. Qué libros no están mal. haber creado un nuevo libro de trabajo, ahora
podemos poblar nuestra variable en hojas porque se trata de una variable de datos use let en lugar de set, pesar de que, como saben que es opcional. No puedes hacerlo así que intercedamos bqool no bkb nuevo no trabajes las hojas no cuentan. Por lo que ahora podemos tomar en hojas como límite. Por lo que saltamos de la hoja uno dos. Ella dura si te gusta, y dentro del bucle, simplemente
queremos cambiar el parámetro de nombre. Entonces eso va a ser encantador. Katy. Nuevas flotas de trabajo y entre paréntesis podemos utilizar nuestro contador porque esto obviamente estará cambiando cada vez que se ejecute esta línea. Y entonces simplemente decimos: No nombre igual a I. Entonces el nombre de la hoja es el valor del contador y nada más. Entonces, antes de probarlo, voy a entrar en mi configuración de Excel para mis propias opciones, y voy a cambiar este valor. Entonces hagámoslo 12. Y entonces eso se está ejecutando en Macro America Street name run, y ahí está mi nuevo libro de trabajo y, como puedes ver, tiene 12 hojas las cuales tienen estos nombres numéricos muy cortos. Entonces esa es una corrida rápida hacia abajo cómo usar el bucle for next on. Como se puede ver, su principal beneficio es que dentro del bucle, se
puede utilizar la variable contador de muchas maneras diferentes en el siguiente video. Bueno, contrasta esto con los cuatro cada siguiente bucle ya sea que se enfoca simplemente en Lupin a través de todas las colecciones, dentro de un objeto en donde no es particularmente necesario usar un contador numérico.
30. 3.5. Por cada ... Siguiente bucles: En el último video, vimos una computadora para siguiente bucle para mirar a través de todos los objetos de la colección y cómo podrías usar un contador numérico a tu favor. Si sin embargo, todo lo que necesitas hacer es procesar todos los objetos de la colección, y no necesitas tener este contador numérico a tu disposición. Hay una manera mejor y más conveniente, y esta es la para cada bucle. Ya sabes, 03 carpeta Eso no es abrir 05 todos cada uno siguiente. Y vamos a entrar en el desarrollador básico visual y crear una macro. Dicho eso, te
quiero encendido,
Vamos a renombrarlo, m tire cada siguiente. Entonces vamos a hacer clic en los derechos de ventana de sapo y crear una macro mediante el uso
del procedimiento de inserción . Vamos a llamarlo cuaderno de trabajo de ventas o simplemente volcado U K B Open. Y lo que queremos hacer con esta macro es averiguar si un libro de trabajo que requiere
la macro está actualmente abierto. Entonces lo que vamos a estar haciendo, es mirar a través de todos los cuadernos abiertos y el clima de Steve, pero ellos obtienen los partidos, el nombre del libro de trabajo que nuestra macro necesita dedo del pie tienen abierto. Entonces con esta técnica no necesitaremos una variable contador numérico. Y por supuesto, el objeto en cuestión es un cuaderno de trabajo. Entonces tomemos eso. Muy entonces, como vivimos, cada uno de nuestros cuadernos querrá probar para ver si es el que buscamos. Entonces vamos a tener una bota para poner los resultados de esa prueba. Y luego finalmente, vamos a crear una constante en la que podamos plasmar el nombre del mundo. Mira, necesitamos estar abiertos en lugar de código en la cadena más adelante. Y aunque no se requiere estrictamente, vamos a establecer bln dedo del pie abierto falso. Este es el valor predeterminado en cualquier caso, pero solo se hizo hincapié en que BLN se abre como el valor falso antes de que se inicie el bucle. Y luego después de los Liu Ben, impugnamos para ver si todavía contiene el valor forzado. Entonces ahora echemos un vistazo a nuestra estructura Lupin, así que pongamos primero la sintaxis genérica. Entonces, por
supuesto, en nuestro ejemplo, la variable objeto es W K B. Cada uno en la colección. ¿ Crees que el mundo para estar abierto un extra y eso es todo lo que necesitamos para platicar para instigar su estructura colocará automáticamente cada uno de los cuadernos abiertos en nuestra variable. Y luego dentro de nuestros cuatro cada siguiente bucle, puedes examinar ese libro de trabajo solo si su nombre coincide con nuestra constante. Entonces aquí, por
supuesto, necesitaremos una declaración if. Entonces si lo hace, entonces ponemos nuestra variable booleana a la verdad. Y entonces no tiene sentido continuar con el bucle porque encontramos lo que
buscamos . Entonces para salir del bucle, puedes usar la sentencia sale cuatro y luego cerramos la sentencia if. Para que eso concluya nuestro botín. Y al final del bucle BLN, Open aún contendrá falso porque no se ha encontrado el libro o si se encuentra el libro. Si hay un partido en el nombre, entonces habrá sido cambiado a la verdad. Entonces, después del bucle, ahora
podemos tener una sentencia if para probar el valor dentro de bln open. Entonces diremos que es igual a falso. Entonces queremos poner un cuadro de mensaje para decir que no podemos encontrar el archivo que necesitamos y luego por lo demás en cerramos su declaración. Por lo que ahora impugnamos por el momento macron abajo. El cuaderno requerido no está abierto. Entonces cuando corremos hacia arriba viene el cuaderno de mensajes no abierto. No volvamos a nuestra carpeta en Abrir el cuaderno de trabajo. Entonces aquí está, ventas que XLS X y vamos a ejecutar la macro una pequeña. Y, por
supuesto, hay un error tipográfico, Si lo viste bien hecho. Entonces eso no dice XLS X. Simplemente
cambiaré eso y encuentra el cuaderno de ventas, y estamos bien para ir. Vamos a cerrarlo por buena medida en ahora debería decir que no. Encontrado de nuevo, pero no abierto no puede continuar. Entonces ese es un ejemplo sencillo de dónde usarías para cada
siguiente, en contraposición a solo la pelota. A continuación, donde todo lo que quieres hacer es recorrer en bucle todos los objetos de la colección. No quieres maquillarte. No quieres hacerlo al revés. No quieres hacer cada otro, y no necesitas ningún contador de méritos. Entonces y ese es el caso. Esta es con mucho las mejores estructuras, Peters
31. 3.6. Haz .... Mientras que los Loops: en un bucle do while, una serie de declaraciones se han realizado condicionalmente. Si bien la condición es cierta, las declaraciones han realizado. Tan pronto como la condición deja de ser cierta, el bucle se detiene para ver cómo funciona. Vamos a entrar en 03 BB a las declaraciones de control y abrimos 062 bucles Wild en Lo que queremos hacer aquí es tener una macro, que produzca una lista única de nombres de gama de productos. Pero para hacer la vida más interesante, no
sabemos dónde va a estar la columna de gama de productos. Entonces el enfoque que vamos a tomar es demasiado inicio en uno. Andi. Si bien hay datos en la celda, sólo
seguiremos moviéndonos a la derecha. Una persona se encontraría sin datos. Entonces nuestro bucle se detendrá. Dejaremos de movernos a la derecha mientras nos movemos a la derecha probaremos el valor en cada celda. Y cuando encontremos la cadena que buscamos, que es gama de productos, entonces nos detendremos. Pero sí encontramos gama de productos saldrá de bucle prematuramente. Si sí nos ponemos todo el camino a la derecha, entonces eso indica que no hemos encontrado la columna que estamos buscando. Plantemos un básico visual y creemos una macro, así que insertaremos módulo. Simplemente le renombraré I m gamas de productos. Y como vamos a ser manipulados en esta hoja de trabajo, es una buena idea darle un nombre en clave. Voy a llamarlo venta de bienes, y luego es incierto cómo micro dentro de Procedimiento Vamos en vivo lista de gama de productos. Empecemos declarando las constantes y variables que necesitarán. Por lo que primero abrí el dolor constante. El string me desdoblaré en otras palabras, luego definirá una variable de rango la cual la iniciará una una y luego simplemente seguir moviéndose hacia la derecha, y luego tendremos una variable de 1,000.000.000 para que si encontramos la cadena que estamos buscando, podemos proponernos a demostrar si se encuentra la columna que buscamos luego creará un libro de trabajo y luego creará una variable de rango, que apuntará a la primera columna de ese nuevo libro de trabajo para que podamos copiar a través del datos y eliminar duplicados. Por lo que la primera operación que queremos realizar es buscar, partiendo de cualquiera para el encabezado de columna, que es rango str. Por lo que comenzamos por punto en las ventas de RMG para vender una de nuestras hojas de trabajo y luego antes de empezar a
bucear,nos bucear, aseguraremos de que BLN encontrado se establezca en falso explícitamente. Entonces ahora llegamos al bucle y el do while loop tiene una estructura muy sencilla. Entonces tenemos las palabras clave a while y luego tenemos una prueba booleana, una que tiene que producir el resultado. ¿ Verdadero o falso? Entonces aquí están la prueba simplemente será si hay algunos datos dentro de la celda actual en. Para probar esto, podemos usar el BB. Una función de información está vacía, por lo que obviamente no queremos que esté vacía. Por lo que usamos la palabra clave negación. No así mientras no y entonces estamos buscando dentro b b Un punto de información de arma está vacío en lo que queremos probar es, por supuesto, las ventas de RMG sintieron valor. Entonces esa es la cáscara de nuestro do while loop. Y lo primero que debes poner dentro de cualquier bucle de este tipo donde es un
bucle condicional es una declaración. ¿ Qué va a impedir que sea un bucle interminable dice que te metes en el hábito, tal vez explícitamente acabas de poner un comentario en y en este caso, lo que va a evitar que esto sea un bucle interminable es el hecho de que estamos moviendo uno celda a la derecha. Si nos quedáramos atrapados en la misma celda, la liga nunca terminaría. Entonces para mover un lugar a los derechos, simplemente
restablecemos nuestras ventas de energía y la restablecemos en relación a sus espectrales iguales chicas extranjeras . Fue la propiedad molesto la cual tiene dos direcciones verticales horizontales. Tan veredicto. Queremos cero. No nos movemos hacia abajo. Está todo en horizontal, positivo para que podamos movernos con grapas. Entonces esa es una línea muy potente dentro del bucle que dejará de ser un bucle interminable. Entonces, antes de pasar a la derecha, queremos probar el valor en la celda para ver si coincide con el rango str. Y si lo hace, establecemos nuestro valor de 1.000.000.000 en true y dejamos de bucles. Se puede hacer eso usando salidas do. Al usar esta declaración, significa que las ventas naranjadas permanecerán atascadas en la columna correcta por lo que esta línea no va a patear porque realmente salimos en el bucle tan pronto como encontremos lo que estamos buscando. Entonces una vez que se complete el live, entonces
podemos tener una declaración if para ver si de hecho encontramos lo que
buscabamos . Por lo que probamos en BLN encontrado soy más antiguo decir columna requerida, no encontrado que límites. Queremos copiarlo y eliminarlo implica. Por lo que esta será la otra parte de nuestra declaración if. Entonces necesitaremos un nuevo cuaderno de trabajo. Y por supuesto, tenemos una variable para ese propósito. W cable noticias Y luego señalamos rnd nuevo a la primera columna de ese cuaderno de trabajo. Probablemente se encuentran con esta sintaxis al usar fórmulas en Excel. Esto significa toda la columna. Es cuando entramos los datos en Es puede golpear lo primitivo, por
supuesto, el debate, y no necesitas todo incluso contar antes de hacer una copia de línea. Otra cosa que copiamos, por
supuesto, no son simplemente escalas de RMG, porque si recuerdas, nuestras ventas de energía son apuntadas a una sola celda. Por lo que es nuestro médico de ventas de energía columna entera, pero Poppy en entonces especificamos destino. Que, por
supuesto, es nuestra energía nueva entonces las declaraciones implicadas aliviadas es muy sencillo. Eso está en el nuevo no se queden duplicados, y los dos planetas se ha estado comiendo festival y por supuesto, sólo
hay una columna, así que podemos decir Llámalo uno sobre si nuestros datos tienen encabezados que ya verás tenemos tres opciones posibles. Estos son Excel, Constance. Y, por
supuesto, ¿tienes dolor de cabeza? Y hemos hecho toda la columna. Entonces es Excel? Sí, y luego finalmente, mostremos un mensaje para decir que la operación está completa y luego cerramos una declaración con y si es así, guardemos nuestros cambios y hagamos algunas pruebas ahí. Se puede ver que crea, Ah, nuevo libro de trabajo bosques en. Tenemos operación Mensaje completo. Entonces lo siguiente que disputamos es mover esta columna a otra ubicación algo y simplemente pegar es después. Y luego cuando corremos, no debe
haber cambio. Se puede ver, aún
no miraba antes de dejar este tema. Tan solo para señalar variaciones que encontrarás es porque do while loop también, mientras estamos así que prescindimos de do on. Después está esta palabra inventada, que es while end y se contrata para wend así que encontrarás mientras wend bucles, que virtualmente lo mismo. El motivo por el que el do loop es mejor es esta bonita facilidad que tienes que poder salir del do loop solo con una salida de línea. Haz si quieres hacer lo mismo en un rato, Loop en un rato. Wend loop. Lo que hay que hacer es realmente ponerle una etiqueta a los hombres, ir a esas etiquetas. Es un grande se pone un poco desordenado. Simplemente te mostraré cómo se hace tan bien. Comenta eso fuera y luego pondremos un comando. Acude a esa escuela, nuestra salida de etiqueta, luego a poner una etiqueta en B B A. Si escribes la etiqueta que pone y pones una cola que luego se convierte en una región con nombre, cual puedes hombres la ramificaron. En realidad no es recomendable. Se pone muy desordenado. Entonces, solo probemos que funciona. Se puede ver que sí. Pero como dije, um, ir dos son malas noticias, así que no las uses. Entonces voy a deshacer todo eso y ponerlo de nuevo a la forma en que waas y voy a mantener undid. Entonces ahí estamos. Volvemos sin do while y loop on. Entonces, justo antes de irnos. Tan sólo una variación más. El hecho de que esta prueba en realidad se pueda hacer ya sea antes de los pasos dentro del bucle todo después, así que en realidad puedo arrastrar esto hasta abajo aquí, y todavía funcionará. La diferencia importante entre las dos posiciones es que si tienes la prueba después del bucle, a diferencia de después de que lo hagan, entonces todos estos pasos se realizarán al menos una vez. Garantizaron que se realizaran antes de que se iniciara la prueba, y te mostraré dónde podría ser útil esto. En esta circunstancia. Volvamos a la Calle del Trabajo e insertemos una columna en blanco. Entonces si ejecutamos el código ahora, por
supuesto, la prueba se realiza justo al inicio, por lo que encuentra la celda vacía de inmediato, y nada de esto realmente sucede. Entonces cuando ejecutemos el código, verás que dice que no se ha encontrado la columna requerida. Pero si queremos colocar esta prueba al final, esto significa que esta línea se ejecutará antes de que se inicie la prueba. Por lo tanto, encontrará algunos datos, y eventualmente encontrará la celda que está buscando. Entonces esa es la otra razón por la que recomendaría siempre usado do while loops porque
tienes esas dos instalaciones realmente útiles. Puedes salir del bucle prematuramente usando la salida Do on. Tienes la opción o dónde posicionar la prueba, y solo puedes hacerlo estratégicamente, dependiendo de las circunstancias que esperes encontrar.
32. 3.7. Haz .... Hasta que se mantenga en los bucles: en V B A. El do until loop logra exactamente el mismo objetivo es el do salvajemente. Es simplemente otra forma de fraseo exactamente la misma prueba. Echemos un vistazo a cómo funciona entrando en 03 on, luego 07 Hacer hasta así aquí. Tenemos exactamente el mismo cuaderno de trabajo que teníamos al discutir. Haz mientras, y si vamos a visual basic, verás que tienes el mismo macron. Entonces aquí está la sección do wild y lo que estábamos diciendo con esta prueba con Básicamente, empecemos por una. Y si bien no tenemos una celda vacía, sigue moviéndonos a la derecha en cuanto a las pruebas para que esto se convierta en un do hasta que simplemente reemplacemos mientras no con. Hasta así ahora estamos diciendo, Empieza en uno y sigue moviéndote a la derecha hasta que encuentres la celda en blanco. Y como puedes ver, esto es exactamente lo mismo. Entonces cuando ejecutamos la macro, obtenemos exactamente el mismo resultado, y no hay preferencia real para usar en ninguno de los dos enfoques. Simplemente usa cualquiera que sienta que parece más lógico. Entonces vamos ahora a entrar y a la derecha y tú hasta macro sólo para que podamos practicar esa sintaxis un poco más allá. Entonces insertaremos tu modelo y lo renombraré. I m do hasta y entonces vendremos insertar una macro en la ventana de código. interior, procedimiento en el ejemplo que vamos a utilizar es obtener un correo electrónico del usuario. Entonces lo que queremos hacer aquí es mostrar y caja de entrada. Andi obligó al usuario a ingresar su dirección de correo electrónico. Podríamos hacer esto si tuviéramos una macro que se estuviera ejecutando en el contexto fuera de un
escenario único de empresa . Por lo que sólo los miembros de una empresa en particular estarían autorizados a utilizar esta macro. Y sabemos que todos en la empresa tienen una dirección de correo electrónico en cada dirección de correo electrónico termina exactamente
con el mismo nombre de dominio, por
lo que podríamos empezar ingresando el nombre de dominio como una constante. Entonces es mayor variable en la que podemos agarrar el correo electrónico de la persona. Entonces ahora podemos ir directamente a nuestro do hasta bucle. La sintaxis se debe hasta las pruebas. Yo lo cerraría con bucles y para una prueba, podemos usar el teléfono de cadena para probar si la cadena que se está ingresando y la otra principal y digamos que anticipamos un mínimo de dos caracteres antes allá arriba en cuerdas. Está en la clase de cuerdas. Va a ser BB ocho cuerdas fuerza. Y luego nuestra primera podemos escribir todo longhand Starks que como que quiero. Y luego tenemos cuerda uno esa cuerda dentro de la cual estamos buscando. Y por supuesto, ese correo electrónico de acero. Y entonces finalmente hemos gritado traje. El string se puso en su totalidad. Y esto es por supuesto, dominio
str. Por lo que la función en cadena devolverá un número que indica la posición actual de la cadena que estamos seguros bola Onda. Esperemos dedo del pie tener dos caracteres antes de esa cuerda. Ahora será una decisión de tres. Normalmente, cada vez que haces un Lou condicional, siempre
te aseguras de que no termines con un bucle interminable. Pero el paciente es más o menos lo que queremos, porque el usuario tiene la capacidad de salir del infinito do simplemente suministrando el tipo
correcto de correo electrónico para que pueda ir directamente a mostrar principal nuestro cuadro de diálogo fuera cuadro de entrada . Estamos poblando str email con lo que es el V b? Un cuadro de entrada, que está en interacción que impediría sus escrituras porque la función de cuadro de entrada no es el experimento sobre la mezcla de promo de vida. Venecia. Tener un título, Um, y finalmente, vamos a tener un valor por defecto, que simplemente puede ser str dominio. Para que eso concluya nuestro bucle. Y luego después del bucle, podemos estar seguros de que el correo electrónico STL contiene una dirección de correo electrónico. Entonces terminemos diciendo y luego se prueba. Por lo que mientras no entre por la dirección de la cantidad, esta simplemente no es mi pantalla y se va ciudadano. Poner en una dirección de correo electrónico, viene el cuadro de mensajes. Entonces solo para reiterar eso, hacer mientras y hacer hasta algo cómo frases tu prueba. Entonces aquí, si decidiera cambiar esto para hacer, mientras simplemente tendría que cambiar mi prueba solo para invertirla. Entonces en lugar de decir mayor o igual a tres, podría
decir hacer mientras menos de tres encendido cuando lo probemos, deberíamos obtener exactamente el mismo resultado para que se quede en pantalla hasta que ingreses tu email
33. 3.8. Creación de Arrays: una matriz es un tipo especial de estructura, que te permite estancar varios elementos relacionados en una sola variable para ver cómo levantar el trabajo , vamos a ir a 03 bebé y controlar las declaraciones y luego abrir fue, ya
sabes, ocho. Creando una carrera y vamos a ir por el desarrollador y hacia el editor visual básico. Y lo que estamos haciendo este ejemplo es crear una macro, que representa el inicio de una aplicación donde queremos validar al usuario
en base a ese bloque en nombre. Por lo que capturaremos el nombre de inicio de sesión del usuario y luego lo compararemos con una serie de posibles. Entonces, empecemos por su módulo. Y cambiemos el nombre de esto y luego dejemos que ventana inserte un procedimiento que sea genial y el usuario verifique eso. Creo que es un bendito él. Ese es Logan, esa cuerda. Y digamos que cuando escribimos en el aire, sabemos que hay cinco usuarios que queremos poder usar realmente esta aplicación . Por lo que hay Cinco Valle usan los nombres ahora que podríamos crear por Constance separado, pero uno de los valles consigue nombres en cada uno. Esperan fst o Estella desigual. Aquí es donde viene un aumento hacerlo. Pero la sintaxis para definir una variable de matriz es muy similar a definir en una variable ordinaria . Las primeras diferencias que normalmente inicias el nombre dentro de A. Solo para recordarte que es una variable array. Todavía se especifica el tipo de datos que se desea colocar dentro de la variable. Entonces obviamente seguimos hablando de cadenas, por lo que un SDO y luego mover uso válido para identificar esta variable en particular. La segunda diferencia es que luego se especifica entre paréntesis el alcance fuera de la variable. Es decir cuántos valores quieres, la variable para poder sostener, y la mejor manera de hacerlo es poner los límites superior e inferior. Entonces si quiero tener cinco valores en mi matriz, lo
biológico que decir es 15 límite inferior un límite superior cinco. Entonces esas son las únicas dos diferencias. El primero es opcional. El flancos de usar una A al inicio del nombre,
y el segundo es obligatorio, por lo que entre paréntesis se especifican los límites. Existen otras formas de especificar el límite, pero esta normalmente es la mejor práctica. Pero los límites superior e inferior explícitamente, y sabes exactamente dónde estás cuando viene a procesar los valores bajo la lluvia y luego lo tercero no es único para elevar. Es exactamente lo que haces. Para cada variable se especifica el tipo de datos. Y por supuesto, seguimos hablando de cadena porque los valores en la matriz se identificarán como un índice
numérico. Se puede mirar a través de los valores en la matriz, por lo que lo siguiente que definirá es una variable de contador. Y como vivimos cuando encontremos un partido, usaremos una variable booleana para indicar que hemos validado con éxito al usuario. Entonces el un anillo con el que estamos trabajando aquí es realmente una matriz constante, que no existe tal cosa como una constante array. Puedes usar const hombres adelante y definir Honore con múltiples valores. Entonces lo que haríamos en este punto es poblar el manualmente. Sólo para decir El elemento uno es primera persona. punto dos es el segundo nombre de inicio de sesión y así sucesivamente. Entonces obviamente esta es una variable de datos. Entonces voy a usar vamos s tu válido y luego entre paréntesis, especificó el índice y luego solo hacemos eso por más veces. Hemos poblado todos los libros de Sipes dentro de él. Un área gris. El siguiente paso es agarrar tu reserva. Está empatado STL buscando Vamos como amoroso igual levy un ambiente de contracción. Y luego entre paréntesis, ponemos el elemento particular que buscamos, que es nombre de usuario. Estoy poniendo esto en mayúsculas, pero recuerda que VB no es sensible a mayúsculas. Entonces ahora hemos agarrado sus años un nombre que queremos comparar con cada uno de estos. ¿ Qué? Ok es que esto obviamente te está usando, Mary. Y entonces siempre voy a usarme como mostrador. Entonces antes podría decir, yo igual a 1 a 5 porque sabemos que hay un límite pero el mejor bit Cuando son dos años a funciones especiales de array l bound y te bound. Y obviamente el l bound funcional calcula el valor más bajo y la función U bound el valor más alto. Entonces si éstas cambiaran, tu sintaxis simplemente recogería los nuevos valores. Entonces no lo haré. L bound s t o válido. Encuadernaste Es un válido y luego dentro del bucle realizará una prueba y usará la
variable I para recoger cada uno de estos valores. Por lo que str válido y luego entre paréntesis reemplazó el I. Así que esto significa que a medida que se ejecuta el bucle se sustituirá el I o un número entre los límites inferior y superior como el bucle se repite continuamente. Entonces si str valid I igual str log in entonces obviamente se ha encontrado una coincidencia y si ese es el caso, cambiamos bln bien a verdad Y entonces no tiene sentido evaluar los otros elementos para que podamos salir del bucle usando la misma salida fiscal completa . Después terminamos nuestra declaración if y luego terminamos nuestro bucle for next Repetir en nombre del contador solo para mayor claridad para que sepamos qué bucle se está terminando después de todo, bln de
Lou Ben. De acuerdo, bueno, o bien contienen falso porque no hemos encontrado un fósforos Horrible contenido. Es cierto porque hemos encontrado un partido por lo que ahora podemos probar el valor de BLN. De acuerdo, Andi, por el momento solo mostrará el mensaje apropiado usando la función de cuadro de mensajes encendida . Después los els. ¿ Será éste un mensaje similar? Todo este abajo control en arrastre y luego cerramos nuestra estructura con extremo. Si es así, actualmente
soy Levine es Grant Gamble. Entonces cuando corro, obtengo mi bienvenida a la aplicación. Si mi nombre no estaba en alguna parte ese equilibrio extraño que entonces consigo la alternativa. No está autorizado a utilizar esta aplicación. Entonces, ¿esto es usar qué? En el que conoces de antemano Toda la gente necesita de forma deportiva. Habrá ocasiones en las que no se sabe esto en. Y esto es en lo que creo que tienes razón. Veremos cómo funcionan estos en el siguiente video.
34. 3.9. Arrays dinámicos: En el último video, miramos cómo se puede crear una matriz, que casos para un número desconocido de valores. En ocasiones, sin embargo, no
estás seguro de cómo Maney valora tu necesidad de lluvia para atender. Y en este escenario, se utiliza lo que se llama una matriz dinámica. Aquel que talla puede variar dependiendo de las circunstancias. Echemos un vistazo a lo dinámico y levantado funcionan en la carpeta de capacitación en 03 BB A
Declaraciones de Control . Abramos 09 matrices dinámicas y vayamos de inmediato a través del desarrollador visual, básico y en lugar de módulo. Y simplemente renombraremos esto y arreglos dinámicos. Y lo que haremos en este ejemplo es crear un metro, que enviará por correo electrónico el reporte a una o más direcciones de correo electrónico es ingresada por el usuario. Dado que no sabemos cuántos correos electrónicos ingresará ese usuario, usaremos una matriz dinámica para capturar todos los correos electrónicos ingresados. Entonces, empecemos. Al crear nuestra macro, activamos la ventana de código en el uso, insertamos procedimiento, y simplemente lo llamemos informes de correo electrónico. Entonces, comencemos por crear todas las variables que necesitarán comenzar con el
propio informe . Entonces, primer lugar, voy a crear str path. Esta será la ubicación fuera del reporte que se va a enviar por correo electrónico. El comando estará usando para enviar un correo electrónico. El reporte es cuaderno de trabajo dot enviar correo. Este comando en particular se puede utilizar en un libro cerrado. Entonces por esa razón, voy a atenuar informes wk b Como qué libro? Siguiente. Necesitaremos una variable para capturar cada uno de los correos electrónicos introducidos por el usuario y luego para almacenar varios correos electrónicos necesitará una matriz. Entonces esto será un str e mails y luego para declarar una matriz dinámica, simplemente
pones paréntesis abiertos y cierres después del nombre de la matriz sin nada entre ellos. Entonces, en otras palabras, no
estás especificando los límites de la matriz, pero vamos a especificar el tipo que, por
supuesto, es cadena. Y luego finalmente, voy a tener un contador para contar. El número de correos electrónicos sobre esto nos ayudará cuando lleguemos a recorrer el rayo dinámico y también a cambiar la dimensión de la tasa dinámica a medida que avanza el y obviamente en correos electrónicos. Su interyecto también estaría bien. Y ahora necesitamos crear un do loop que obligará al usuario toe ya sea entrar un correo electrónico o clic en el botón cancelar y porque queremos mostrar un diálogo al menos una vez, tendrá el estilo de Do Loop, que pone la prueba al final después del bucle, a diferencia de después del do So. Esto va a parecer base. Hacer varias líneas de código. Después, después del bucle, ponemos prueba en. Básicamente, nos interesa probar el correo electrónico STL. Siempre que el usuario haga clic en el botón cancelar, el correo electrónico
STL devolverá fuerza nula. Si el usuario ingresa un correo electrónico que, obviamente str email no estará en blanco, contendrá una fuerza por lo que nuestra prueba simplemente puede ser así. Siempre y cuando esta prueba sea verdadera, básicamente
queremos mostrar un cuadro de entrada y capturar los resultados de la caja de entrada dentro nuestra variable str email. Entonces esto va a ser un démosle SDR hembra igual CD ocho en interacción que ponen cerraduras. Entonces necesitamos paréntesis porque tenemos dos declaraciones en la línea y nuestro
parámetro obligatorio es pronta. Y luego ingresemos un valor por defecto. Sólo voy a usar una empresa ficticia llamada Steady Smart. Por lo que diremos en Smart Kid Ok, cierre los corchetes después de que se haya mostrado este cuadro de entrada, str email o contendrá la cadena nula si hacen clic en la bomba de cancelación o
contendrá cualquier correo electrónico que hayan escrito. Por lo que ahora podemos probar el valor de str email. Si hacen clic. Cancelar. Obviamente solo queremos terminar todo el proceso para que simplemente podamos decir salidas, amigo, Y recuerda, este es uno de los beneficios de usar el do loop. Sí tiene opción de salida. Si el usuario ha impresionado el botón de cancelación, entonces necesitamos capturar lo que haya ingresado en nuestra variable array. Pero antes de que hagamos eso, agreguemos uno a nuestro mostrador. Entonces necesitamos aumentar la capacidad de nuestro array dinámico en una ranura. Y aquí está la sintaxis para hacer eso. La palabra clave reading obviamente se relaciona con la palabra clave din inicial, y se usa con matrices dinámicas para cambiar los límites para cambiar el número de ranuras. Pero en la matriz, también se requiere
la palabra clave preserve porque sin ella, cada vez que canjee su matriz, todos los contenidos serán borrados, por lo que preservar medios preservar los contenidos existentes y ampliar la capacidad luego para ampliar la capacidad. Empezamos con unos límites bajos de uno, y aumentamos hasta el límite superior como lo especifica nuestro contador. Por lo que cada vez que el usuario agrega una dirección de correo electrónico, el contador sube por una en la capacidad apagada. Nuestro array dinámico también sube por uno. Y luego finalmente, necesitamos realmente agregar el valor a la matriz dinámica. Entonces aquí simplemente estamos usando correos electrónicos LNG como el índice de nuestra matriz dinámica, y esto asegurará que siempre estamos apuntando al último elemento de la matriz, el que se ha creado como resultado de expandir el tamaño de la matriz. Por lo que ponemos str email en la última ranura de la matriz cada vez. Entonces esto es lo que ha pasado dentro de nuestro bucle. Y luego cuando el usuario haga clic en el botón cancelar, impugnamos el valor de los correos electrónicos de GNL. Si los correos de GNL son cero, esto significa que el usuario canceló de inmediato sin tipo en ninguna dirección de correo electrónico, por lo que simplemente podemos decir que caíste en correos es igual a cero. Entonces podemos mostrar un mensaje de error. De lo contrario podemos seguir adelante y enviar el informe. Si estás enviando un informe por correo electrónico, por lo general es mejor no usar un libro de Excel habilitado para macros. Entonces lo que voy a hacer es sólo para crear rápidamente un nuevo archivo archivo poco ordinario. Voy a guardarlo en esta misma carpeta y darle exactamente el mismo nombre que este archivo. Y por supuesto, lo que sea que sean será diferente. ¿ Está la extensión de archivo al final? Entonces este podría ser nuestros informes, Lo
que significa que todo lo que necesitamos hacer dentro de str path, que es la ubicación del reporte, es tener exactamente la misma ruta que el archivo actual el cual podemos recoger usando aplicación puntea este libro de trabajo, pero con la extensión de archivo Doc XLs sexo en lugar de punto x l s m Así que podemos dejar s tratar igual complicación para esto. ¿ Qué libro? No nombre completo en eso recogerá tanto la ruta como el nombre y entonces simplemente podemos envolver nuestro comando de reemplazo alrededor de él. Entonces esa es Phoebe A don 't strings no reemplaza on. Esta es la expresión que estaban trabajando dentro del punto de cuerda fina Exe Dallas em en el reemplazo Don't. Gracias. Gracias. Y luego abrimos el cuaderno de trabajo. Entonces esta vez estamos usando sets en el nombre final simplemente será Ese es tu pulso. Y luego para realmente enviar el informe por correo electrónico. Contamos con este útil método o función llamada enviar correo on. Precisamos nuestros destinatarios, que por supuesto, serán todos capturados en str Hembras. Este parámetro puede ser una cadena o una matriz de cadenas, y luego simplemente pondremos un tema que ha terminado nuestras sentencias If en también podríamos simplemente mostrar un mensaje final para decir que su informe ha sido enviado por correo electrónico. Entonces ese es nuestro código. Vamos a ahorrar vamos a ponerlo a prueba. Por lo que primero de permitir cancelar. Y bastante seguro, tenemos operación cancelada al usar ningún correo electrónico enviado. Ahora intentemos ingresar algunas direcciones de correo electrónico. Por lo que he ingresado tres direcciones de correo electrónico. No, cancelaré. Por lo que tengo Microsoft Outlook configurado es el cliente de correo electrónico predeterminado. Este mensaje aparece probablemente podría deshacerme de él en la configuración de Outlook, pero no nos metamos en eso ahora mismo. Onda. Por supuesto, si hiciera clic en denegar, generaría un mensaje de error y el programa se estrellaría. Y de igual manera, si no tienes un cliente de correo configurado también, recibirás un mensaje de error así que tenemos una verdadera especie de hueso desnudo pieza de código aquí
no es de ninguna manera, producción lista, digamos, por el momento, solo
voy a dar click en permitir y se va adelante y manda los correos electrónicos y me da mi
mensaje bien . Entonces, como dije, si estás haciendo algo así como enviar un email el único mucho más código que esto en una vez hemos discutido manejo de errores,
bueno, bueno, realidad vuelve y vuelve a visitar esto en Hacer que sea un poco más robusto. Pero por el momento, eso básicamente es como se trabaja con carrera dinámica. así como los defines, y luego tienes esta declaración muy útil o redefiniéndolos y cambio en la dimensión cambiando el número de ranuras que realmente tiene la matriz.
35. 3.10. Utilización de la matar,: en este video, vamos a conseguir algo más de práctica sobre trabajar con los Rayos. Voy a echar un vistazo a una técnica útil que generó código BB ocho dentro de una
hoja de cálculo de Excel usando fórmulas ordinarias de Excel. Entonces en la sub carpeta 03 Debate Control Declaraciones, vamos al último archivo utilizando un raise. Y cuando abras esto, verás que lo que tenemos es una serie de nombres de país con la ciudad capital. Lo que vamos a hacer en este ejemplo es crear un quiz,
que muestre la pregunta a lo largo de la línea de cuál es la capital fuera de China y luego permita al usuario responder una vez que el usuario haya respondido todas las preguntas solo dirán que tienes anotó X de un posible por qué. Por lo que necesitaremos corresponsal un raise uno para sostener todos los países y un dedo sostener todas las capitales sobre la técnica que quiero mostrarles es cómo podemos producir el código que gravan un código para poblar estas dos variables array usando fórmulas de Excel. Entonces lo primero que voy a hacer es sólo poner números. Estos serán los números de índice para nuestras variables array. Y entonces aquí sólo voy a poner una fórmula para poblar la matriz para los países. Y aquí pondré otra fórmula para generar el código o las capitales. Entonces como con todas las fórmulas, escribimos iguales. Y digamos que vamos a llamar a nuestro array a str countries. Esto es una fuerza. Por lo que en una fórmula excel tiene que ir en cerrar a str países. Entonces sólo el paréntesis de apertura seguido del número. Entonces para hacer eso, simplemente
cerré mi fuerza y usé el operador de concatenación y por ciento y luego
pincho en C dos. Entonces eso me da el número dentro de paréntesis. Ahora cierra mis paréntesis. Entonces está de nuevo en cuerda. Esa es la ropa entre paréntesis igual Y luego necesito cotizaciones. Ya estoy dentro de cotizaciones. Entonces, ¿cómo especifico en una fórmula excel que quiero cotizaciones a la vista? Cotizaciones sobre La respuesta es básicamente duplicas. Entonces dos cotizaciones significa que quiero tener una cotización. Quiero tener comillas dobles dentro de mi fuerza. Y luego, claro que tengo que cerrar cotizaciones. Entonces eso son tres comillas dobles juntas. Entonces necesitamos otro y por ciento y luego necesitamos el nombre del país, que es un dos. Y luego rematamos con la ropa entre comillas. Entonces eso es comillas abiertas comillas dobles y luego la comilla de cierre. Entonces vamos a presionar enter y ese es el patrón que tendrá. Entonces el nombre de la matriz, el índice, que es uno, equivale a hombres dentro de dobles comillas la fuerza para que pueda simplemente copiar eso hacia abajo y luego hacer más o
menos lo mismo para los Capitales. Entonces solo estoy en una copia de esta fórmula. Pega aquí en, haz los cambios necesarios. Entonces esto ahora se convierte en Capitales. Si dos es lo mismo. Ese es nuestro número, pero un dos necesita convertirse en B dos. Hay un asqueroso capitales esperando Pekín como y luego me acaba de llamar así. Entonces ese es un ejemplo de cómo puedes generar BB, un código usando fórmulas de Excel. Entonces vamos a entrar y ahora mismo Macron y yo llamaré a este modelo M Capital Quiz. Y llamemos a la macro misma. También, Capital Quiz y, como siempre, comenzarán por las variables Konar, comenzando sin arrasar variables. Y para este ejemplo, solo
voy a poner el 1er 3 solo por velocidad así que eso es uno, 23 primavera, y luego hacemos lo mismo por Capitales. Entonces necesitaremos una variable para contener cada una de las respuestas proporcionadas por el usuario. También necesitaremos el entero o el interject largo para sostener las escuelas y finalmente salir del contador, lo que nos permitirá recorrer las matrices. Entonces ahora necesitamos el código que poblará estas dos carreras y como he dicho para velocidad y luego otra vez para usar los 1er 3 valores para que podamos volver a los pies de trabajo, solo copie el 1er 3 y luego podemos hacer lo mismo cuatro mayúsculas, y yo soy sólo voy a presionar la pestaña. Tecla a Tab. Esos tres carriles en tantos quiz consistirán simplemente en un bucle siguiente de cuatro. Entonces para yo igual. Y como probablemente recuerden, cuando Lupin a través de una matriz, siempre
es mejor usar L bound y usted atado. Y, por
supuesto, no
importa cuál de las dos variables que use en este contexto. Todavía voy a conseguir los mismos números generados a partir de 1234 Si hago algún cambio aquí arriba, entonces l atado un nuevo valioso pick up esos nuevos números. Por lo que ahora queremos mostrar la pregunta del quiz y capturar la respuesta dentro de nuestra
variable str honza . Por lo que el contable asegura que mostramos cada uno de los nombres de países. Uh, al final de nuestra pregunta, porque esta es una pregunta. Vamos a ponernos solo etiqueta en la pregunta y luego queremos comprobar para ver si la respuesta capturada dentro de str respuesta es la misma que la ranura correspondiente dentro de str Capitales según especificado por I Y en esta línea, supuesto, underst falta la ropa entre paréntesis. Sólo pon eso. Entonces para probar la respuesta, nosotros, por
supuesto, usamos en un comunicado teníamos uno a la escuela y por supuesto no vamos a necesitar otra si
dieron respuesta incorrecta, simplemente no hacemos nada. Después de que todo el bucle haya terminado, podemos entonces mostrar un cuadro de mensajes diciéndoles lo bien que lo han hecho. Por lo que has anotado y después etiquetamos en escuela de GNL fuera de un posible y luego para calcular el número total de preguntas. Acabo de tomar el valor de yo pero recuerda cuando llegas al final de un bucle ny, realidad
era uno más en el límite superior. Entonces por esa razón, si vas a usar yo porque el bucle ha terminado, necesitarás restar uno. Por lo que ahora podemos probar nuestro quiz. Y sólo te advertiré que si estás haciendo este tipo de cosas, estas comparaciones un k sensible. Entonces si el usuario escribiera la respuesta correcta, pero en el caso equivocado, obtendrían una agregada a su escuela. Forma tan sencilla de corregir esto es usar l case o minúscula o mayúscula para convertir ambas cosas que se comparan con exactamente el mismo caso. Voy a usar la longhand como de costumbre TV caso Adolf Springs L. Y hay un nuevo caso funcionaría volando también en corchetes. Y entonces sólo voy a poner exactamente lo mismo del otro lado. De esa manera, se comparan
ambos artículos y en exactamente el mismo caso. Entonces probemos nuestro código. Y aquí, por alguna razón acabo de meterme en singular en lugar de plural. Entonces eso es solo reiniciar en correcto que demasiado cool e inténtalo de nuevo. En minúsculas Pekín y, uh, el Caso deli Y caso tan bajo Washington D c entrar. Tiene tres de un posible tres, así que pueden ver que el yo menos uno nos ha dado el número correcto. Por lo que tenemos un quiz muy rudimentario. Pero lo principal que quería mostrarte en este video es lo fácil que es generar BB un código usando fórmulas Excel muy simples.
36. 4.1. Sub procedimientos y variables de nivel módulo:: en esta sección, discutiremos el uso del código modular a medida que escribes mi crece, y a medida que los Macron se vuelven más complejos, encontrarás que tienen cada vez más líneas de código. Y en lugar de tener un solo sub procedimiento con cientos o incluso miles de líneas de código, es mucho mejor subdividir tu código en módulos separados. Y existen dos tipos de módulos, algunos procedimientos y funciones, que discutirán en este apartado. Empecemos por hablar de sub procedimientos. Entonces en nuestra carpeta de capacitación, vamos a entrar en 04 procedimientos y funciones y no soy 01 Algunos procedimientos, variables de nivel de
módulo. Entonces entremos al editor visual basic y verás que tenemos un solo modelo, cual contiene uno de los macron's que vivamos antes. Ahora bien, si esta macro o más compleja, lo que normalmente haríamos es remolcar. Contar con cada una de estas secciones como subprocedimiento separado. A natural lo estará haciendo en este video justo en contra de ellos. Practica sobre cómo trabajar con sub procedimientos separados, Así que lo primero que abordará es la cuestión de alcance variable. Esto básicamente significa desde dónde, dentro de tu código de variables se va a acceder al contenido en este momento. Todo sobre las variables que contenían dentro de este sub precedieron a estos datos de copia de llamada macro. Por lo que su alcance actualmente es local. Es decir, local a este sub procedimiento específico. Si hubiera algún otro sub procedimientos dentro de este mortal, no
tendrían acceso a ninguna de estas variables. Entonces lo primero que queremos hacer es tomar todas estas variables y cambiar su alcance a nivel de modelo. Eso es muy fácil de hacer. Se trata simplemente de una cuestión de posición. Si están posicionados dentro de un sub procedimiento, su local a ese sub procedimiento, si su posición fuera, agujeros procedimientos que los harán nivel de módulo para que simplemente pueda cortarlos y luego probarlos aquí simplemente simplemente por mudarse. El medio de esta posición significa que si tengo varios sub procedimientos dentro de este mortal, todos ellos tendrán acceso a exactamente las mismas variables. Si bien la posición es el único requisito esencial o declarar una variable de nivel de módulo, también
es una mejor práctica usar la palabra clave privada en contraposición a ellas. Ellos son perfectamente legales. Funciona bien, pero al usar la palabra clave privada, estás enfatizando que estas variables tienen un alcance que es de ancho de módulo. Por lo que sólo voy a usar buscar reemplazar por resaltar las variables control edad reemplazar y estoy reemplazando el trabajo clave por la clave Sería privado on reemplazar todo dentro del texto seleccionado. También podemos usar la palabra clave privada al declarar Constance,
naturalmente, naturalmente, la palabra private count replace Const Así se usa además,
Así que simplemente tendríamos costo privado en lugar de simplemente costar otra convención. pena seguir es indicar el alcance de la variable dentro de su nombre y convención. Y típicamente lo que harías es proceder a todas las variables de nivel de módulo con la letra M así M w K b fuente, por ejemplo. Entonces solo voy a usar el hallazgo de reemplazo para lograr eso. Empecemos por tener W k reemplazado por m wk. Voy a asegurarme de encender caso de partido para esto. No creo que eso vaya a estropear nada tan reemplazable que cuide los libros de trabajo y hojas de trabajo. Entonces tenemos a nuestro Engy. Por lo que nuestra lesión se convierte en m g Reemplazar todo y finalmente tenemos cuerdas en este momento. Es muy importante que tengamos el caso del partido encendido porque aquellas que tienes palabras como cuerdas. Um, aquí otra vez, tenemos la cadena de nombre del parámetro, que no querríamos cambiar. Entonces Match case se encargará de eso sustituyo a todos. Entonces ahora todas nuestras variables que tienen los niveles del modelo, vayan en nuestro prefijo con la letra M. Y en este punto, definitivamente
vale la pena probar para ver si nuestro código aún funciona. Entonces sí, sí lo hace. Entonces no hemos roto nada. Vamos a cerrar eso, ¿
eh qué libro? Pasemos ahora a algunos procedimientos. Por lo que diremos que este subprocedimiento actual, la macro misma será el principal sub procedimiento desde el que llamará a todos los demás. Entonces sólo voy a cambiar el nombre a Maine en entonces el primero, algún procedimiento que se elevará modular será esta sección. Alguien cortó esto y ha dado un ritmo. Es un sub procedimiento separado, así que obviamente puedo escribirlo, pero solo voy a usar el procedimiento de inserción y el peso para distinguir entre una macro. Algún procedimiento sobre un sub procedimiento que se llama desde dentro de la macro es el alcance. Entonces se vuelve privado, y voy a llamar a éste, usar la entrada, y luego pegar el código de mi copia tener en su lugar este código en un sub procedimiento separado es tan importante
que lo llamo desde el sub procedimiento principal. Entonces vamos a ponernos con nombre aquí. Puedo insertar unos estándares geniales si simplemente pego el nombre que es suficiente para hacer que el sub procedimiento ejecute la claridad. Es útil poner en la llamada de palabra clave solo para enfatizar que estás llamando a un
sub procedimiento separado en esa línea. Entonces hagamos lo mismo con la segunda sección Libro de código abierto. Entonces otra vez, voy a cortar código loco nuevo sub procedimiento privado. Llame a esto partituras abiertas bkb en pegar en el código de copia. Entonces necesitamos llamar a este nuevo sub procedimiento y pegar. Entonces vamos a tener sólo dos secciones más, así que todo esto podría ser nuestro procesamiento. Volveremos a llamar a estos datos de proceso. Tenemos un privado es un proceso de procedimiento, estados, uh, colocamos en todo ese código fue intervenido. Esto en Teoh lo hacen un poco más legible. Haz lo mismo aquí en efectivamente, aquí Esto es genial. Y luego finalmente, vamos a tener finalización en Vamos a enfriar la finalización para que completa así modelo de organización on. A pesar de que es un poco exagerado porque obviamente se trata de una pieza bastante corta de código. Esperemos que solo te dé una muestra de cómo estructuras una aplicación típica. Entonces a medida que tienes más funcionalidad, tienes básicamente bloques separados de código sub procedimientos separados para cada sección de esa funcionalidad. Otra cosa que puede encontrar útil es solo cambiar el modo a vista de procedimiento. Esto básicamente significa que solo trabajas en un procedimiento a la vez y en la parte superior justo aquí desde el procedimiento bajado, puedes cambiar entre diferentes procedimientos. Voy a volver a,
uh, uh, todo más tu punto de vista. Y por supuesto, sólo
debería probar que aún funciona. Entonces esta es ahora la única macro que tenemos dentro de este modelo. Tan solo para demostrar que si volvemos a sobresalir en Mac Rose, verás que solo Main está listada toda la privada. Algunos procedimientos se tratan filas traseras. Entonces vamos a correr main do esta vez, y todavía obtenemos los mismos resultados
37. 4.2. Variables estáticas: En este video, buscamos variables que tienen un alcance estático, variables
estáticas, el equivalente a variables de sesión encontradas en desarrollo Web para ver cómo funcionan en la carpeta 04 Procedes
and Funcations Sub. Está abierto hasta cero a variables estáticas. Y luego entremos al editor visual básico y para ilustrar el uso de
variables estáticas , escribirá una macro, que le pidió al usuario su nombre. Pero si el usuario luego detiene el macron y lo vuelve a ejecutar, no
queremos volver a pedir al usuario su nombre una vez más. Queremos recuperar el nombre que se ingresó la primera vez, y este es un ejemplo clásico de donde se usaría una variable estática. Entonces insertemos módulo. Simplemente voy a renombrarlo M Variables Estáticas y luego vamos a insertar una macro. Y luego definamos un par de variables. En primer lugar, quiero sostener el uso su nombre y en segundo lugar, uno para hacer un seguimiento de cuántas veces se ha corrido el fabricante. Cuando se ejecute el programa. Si str name está en blanco, le
pediremos al usuario que introduzca su nombre. Después añadiremos conteos de corridas de 12 horas. Estoy de acuerdo. El usuario y yo olvidamos poner en el prompt para el último. Entonces se iba a quedar sin convención sobre fija que en este momento simplemente dirá hola y luego en Canton se comió el nombre del usuario. Por lo que tal y como está, cada vez que ejecutemos este nombre de macro STL estará en blanco. Tendría que pedirle al usuario su nombre. Sólo probemos eso. Sólo pongamos algunos corchetes aquí. Pero claro, si lo vuelvo a ejecutar, es para conseguir todo lo que entré antes, Y estoy de vuelta con el micro que se ha corrido una sola vez. Entonces para convertir estas variables en variables estáticas, tienes dos opciones. El primero es reemplazar el dim key bird por las palabras clave estática, y el segundo es colocar la palabra clave estática frente a la definición de algunos procedimientos. Esto hará que muchas variables dentro del sub procedimiento sean estáticas. Entonces aquí solo voy a usar estática dos veces. Por lo que ambas de estas variables ahora estáticas. Entonces correré el macron desde Excel. Entré mi nombre una vez. Macron se ha corrido una sola vez. Y luego, cuando lo vuelva a ejecutar. Se acuerda de mi nombre y también recuerda cuántas veces se está ejecutando la macro. Entonces cada vez que lo ejecute, esa figura irá por una que mi nombre se quedará dentro de la variable str estática llamada. Entonces como puedes ver, es muy sencillo implementar esta técnica y solo recordarte las dos maneras de
hacerlo . Simplemente voy a deshacer ambos de esos y lugar para mantener el trabajo estático frente a la definición de sub procedimiento. Entonces empezamos de cero una vez más mi a mi nombre. Y luego cada vez que ejecuto la macro, recuerda mi nombre y eso es 12 El número de veces de la macro se está ejecutando, y eso es todo. Entonces así fue como se usaron las variables estáticas en V B A.
38. 4.3. Parámetros de paso en la pasa:: ya hemos visto cómo podemos hacer nuestro código más modular al tener una macro, que llama a apoyar que algunos procedimientos. Una forma de flexibilizar los sub procedimientos es definir parámetros para ellos. Esto significa que cada vez que llamas a eso algún procedimiento, puedes hacer que haga algo ligeramente diferente. Y cuantos más parámetros definas, más flexible se vuelve el sub procedimiento. Veamos cómo funciona esto en la carpeta 04 Procedimientos y Funciones que ahora va a 03 parámetros de paso y aquí definirá la estructura clásica mediante la cual tenemos una
macro principal que provocó una serie de subprocedimientos. Entonces llamemos a ese módulo I m pasando parámetros, y entonces eso es insertar en macro Principal. Y ahora vamos a crear tres subordinados a los subprocedimientos privados. Entonces desde nuestra macro, ahora
necesitamos enfriar nuestros tres subprocedimientos. Y aunque la llamada a la palabra clave es opcional, es útil ponerla en cada vez, por lo que cada una de estas secciones solía tener muchas líneas de código. Pero digamos que al final de cada sección tenemos una confirmación verbal. Usa una aplicación, no hables así al final de cada uno de estos asedios de la cena querrán llamar al procedimiento de
confirmación verbal , Así que ahora definamos eso de nuevo. Es privado on. Lo que ahora podemos hacer es definir una variable de parámetro, que determinará el mensaje que realmente se habla. Esto es muy similar a usar en la sentencia 't, pero su X coloca en los paréntesis que siguen el nombre de los subprocedimientos. Obviamente, será una cadena porque será una pieza de texto que se lea por aplicación, no por habla. Entonces vamos a la escuela mejor tu mensaje como una cuerda. Una vez que definas un parámetro, cada vez que llamas a eso algún procedimiento, necesitas suministrar un parámetro fuera del tiempo definido con la llamada al procedimiento. Por lo que aquí puedo decir fresca confirmación verbal. Pero entonces también tengo que especificar str mensaje y notarás que la inteligencia
me recuerda qué tipo de datos se necesitan suministrar para este parámetro. Entonces solo voy a decir inicialización completa, y luego solo,
uh,
copiaré uh, eso. Entonces tenemos un procedimiento lateral que ahora se está pasando un mensaje diferente cada vez que
se llama . Por lo que ahora dentro de nuestra confirmación verbal, podemos usar. Mensaje Str Así que cuando estábamos en nuestra macro, cada uno de los sub procedimientos que se llama llamará a su vez combinación verbal con un mensaje
diferente cada vez. Inicialización Procesamiento completo, finalización
completa completa. Una característica muy útil de los parámetros es que pueden ser opcionales cuando definas tus parámetros. Puede definir parámetros opcionales simplemente utilizando la palabra clave opcional. No obstante, todos los parámetros opcionales deben seguir los parámetros obligatorios, por lo que str mensaje Queremos estar siempre ahí. No es opcional, así que tiene que venir primero. Pero entonces podemos tener un segundo parámetro opcional encendido. Lo que voy a usar en este ejemplo es decir, ¿Te
gustaría volver a escuchar el mensaje? Por lo que esta será una repetición booleana y BLN como Julian, y cuando estés especificando parámetros opcionales, también
puedes especificar un valor predeterminado. Por lo que cuando se realiza la llamada al sub procedimiento, si no se proporciona ningún valor para ese parámetro, se utilizará
el valor predeterminado. Y para hacer eso, simplemente
dices, es igual porque he definido en sus mil 000.000.000 verdadero y falso para mostrar automáticamente . Entonces diré que falso es el predeterminado. Entonces lo que ahora puedo hacer es tener una estructura do loop que ofrezca al usuario la oportunidad de volver a escuchar el mensaje. Es una pelea, pero el do como primera parte de la declaración Esto significa que todo dentro del bucle ocurrirá al menos una vez y luego la prueba puede seguir el bucle en lugar de seguir. Para hacerlo para hacer la prueba booleana, vamos a tener un cuadro de mensaje con sí, sin botones en lo que siempre hago cuando estoy usando esa estructura es definir una variable BB. Tan tenue, nena. Um, señor, como resultado del cuadro de mensajes Bebe a menos que lo inicialicen para contener el B No. Y luego en nuestra prueba que sigue el bucle de palabras clave, podemos decir, mientras que bebe respuesta es igual al bebé Sí. Y por supuesto, en este punto del tiempo, nunca
puede igualar Sí. Pero lo que ahora podemos decir es, si nuestra variable de repetición BLN es verdadera, mostrará un cuadro de mensajes con bombas sí y no cuando estés a prueba en un 1,000.000.000
además de decir, si mis miles de millones en este caso 1,000.000.000 repite igual a verdad, puedes simplemente decir si mi 1,000.000.000 así en este caso, si bln repite y se evalúa exactamente a los mismos resultados. Y lo que queremos hacer aquí es mostrar un cuadro de mensajes y luego capturar el resultado dentro de la respuesta de
VB. Déjame ser Responder igual v b a punto cuadro de mensaje de interacción con un prompt off. ¿ Te gustaría volver a escuchar este mensaje? Entonces, ¿ahora le hemos dado al usuario un mecanismo para cambiar la respuesta vb de VD? No para ser Sí. Entonces si hacen clic en el fondo sí, la respuesta entonces contendrá bebé Sí,
Y en este punto, Y en este punto, el bucle se repetirá en la aplicación, no el habla se volverá a producir una vez más. Entonces como en nuestras tres llamadas de función solo estamos usando el argumento obligatorio No estamos suministrando el argumento opcional. El valor predeterminado pateará en mil 000.000.000 es igual a falso. De ahí esta línea siempre se demuestre ser falsa y no se mostrará el cuadro de mensajes uno. Así que vamos a probar que la inicialización completa procesamiento finalización completa completa completa. Y ahora intentemos agregar ese segundo parámetro opcional. Entonces voy a hacer esto en la inicialización. Enfriar. Y yo digo que eso es cierto. Por lo que ahora van a tener la opción de escuchar la inicialización completa por segunda vez. Inicialización completa Onda. Por supuesto que dice, De acuerdo, finalización completa. Porque lo que olvidé hacer era establecer el parámetro todo importante. Yo sólo tengo un prompt aquí. No tengo el parámetro de botones para especificar VBS No. Por lo que no he proporcionado el mecanismo ni la captura de VBS. Entonces para cambiar eso, sólo
puedo poner una continuación de coma. A lo mejor en la siguiente línea. Botones usados a mano. Bebe. Sí. No. Por lo que ahora tenemos un mecanismo para dar click en el botón sí el cual nos dará BBS dentro de
respuesta BB . Entonces intentemos eso otra vez. Inicialización completa. Sí, me gustaría volver a escuchar el mensaje. Inicialización completa. Entonces sólo va a seguir preguntándome que hasta eventualmente en realidad en ningún procesamiento completo invención
final completa cuando pase a llamar al siguiente. Entonces esa es una mirada a cómo se usan los parámetros en este mecanismo de usar parámetros opcionales. Simplemente proporciona un mecanismo agregado para darte la máxima cantidad de flexibilidad cuando estás llamando al sub procedimiento
39. 4.4. Funciones de creatig y llamada: en este video, echaremos nuestro primer vistazo a las funciones. Al igual que algunos procedimientos, las funciones podrían usarse para hacer que tu código sea más modular, pero ofrecen una ventaja distinta. Una función podría devolver un valor. Vamos a entrar en 04 procedimientos y funciones y luego cero para de nuevo creado y llamar en funciones. Cuando miramos en el editor básico visual, verás que tenemos algún código, que escribiría en un video anterior. Lo que vamos a hacer aquí es hacer del abrigo una mentalidad un poco más robusta en una función. En la forma en que está el código, le
pedimos al usuario que suministre los criterios que desea utilizar para crear nuestro informe. Pero entonces el código asume que hay una coincidencia en libro, que tiene el mismo nombre que los criterios ingresados por el usuario. Y luego buscamos en la carpeta de ventas un archivo fuera de ese nombre. Entonces, claro, lo que esto significa es que cuando ejecutamos el código, si usan un tipo el nombre de un rango, pero que no tenemos un cuaderno de trabajo, entonces se bloquea porque está intentando abrir un non libro de trabajo existente. Entonces esta es la línea que no se puede ejecutar porque básicamente, MSD, nuestra ruta contiene una cadena que no existe en la carpeta especificada. Demos click en reinicios para salir del modo de freno en Lo que necesitamos que nuestra función haga es antes de intentar abrir el cuaderno de trabajo. Queremos que la función verifique que existe el libro de trabajo, por lo que las funciones se definen exactamente de la misma manera. Sub procedimientos. Sólo lo pondré al final aquí. Esta vez necesitamos el tiempo para ser función, y de nuevo va a ser privado, y eso se llama un archivo de función existe en esta ocasión. No necesitaremos definir ningún parámetro si fuéramos a definirlos. Van dentro de los paréntesis, como ocurre con algunos procedimientos. Pero lo que sí necesitamos definir es el valor de retorno, el tipo de datos que la disfunción regresará cuando se llame. Y lo hacemos exactamente de la misma manera que definimos el tipo de variable que solíamos mantener,
qué, qué, como y luego especificamos el tiempo de datos. Entonces voy a hacer este mil 000.000.000 para que esta función en particular sólo pueda devolver verdadero o falso. Ahora movamos el código que realmente construye el pasado al archivo que estamos intentando
abrir a nuestra función. Y aquí está el código. Justo antes de abrir el cuaderno, compusimos un camino hacia ese cuaderno, así que solo voy a arrastrar esto a nuestra función. Entonces lo que esto, si la declaración hace es toma los criterios ingresados por el usuario dentro mst nuestros criterios. Y luego usa eso para crear una ruta de archivo a un libro de trabajo que asume que estará en las ventas más antiguas. Entonces lo que ahora necesitamos hacer es después de la declaración de, necesitamos probar si ese archivo realmente existe o no. Y para ello podemos usar un V ser una función llamada de i o como en directorio. Entonces simplemente decimos, si v b un sistema de archivos stop no trato. Sí, y luego especificamos el camino que estamos comprobando cuál causa mst nuestro camino. Si esta ruta no existe, la función de ir devolverá la cadena nula por lo que simplemente podemos decir es igual a V B a Constance vb no string entonces. Y lo que no queremos hacer es decir que nuestra función produce falso porque es un 1,000.000.000 y para hacer eso simplemente repite el nombre de la función. Entonces decimos que el archivo existe es igual a falso. Naturalmente, entonces
podemos decir otra cosa archivar esto es igual a cierto, modo que eso completa la definición de nuestra función. Entonces los elementos clave son que especificamos el tiempo de retorno, el tipo de datos que producirá la función y luego para realmente devolver un valor. Utilizamos el nombre de la función y especificamos el valor que queríamos devolver porque es de 1,000.000.000. O devolverá falso o verdadero, dependiendo de si en lo que encontremos el archivo que buscamos. Por lo que de vuelta en nuestra función principal, ahora
podemos llamar archivo existe. Por lo que estos tres sub procedimientos sólo deben ejecutarse si el archivo sí existe para que podamos colocarlos dentro de una sentencia if. Entonces diríamos que es la presentación de esto y podemos decir o igual a cierto, ¿
entonces quién? Simplemente podemos decir si existe un archivo en él evalúa exactamente los mismos resultados. Entonces el archivo existe, entonces se encuentra todo esto más. Realmente necesitamos mostrar un mensaje de error y detener la macro, por lo que nuestra función cool está bien anidada dentro. Una declaración if cuando se lleva a cabo esa llamada de función. Todo este código se ejecutará. Pero lo clave es que al final, archivo existe o devolverá falso o verdadero. Y entonces se va a evaluar en esta sentencia if si se evalúa a true, llamarán a
estos tres sub procedimientos si se evalúa como falso, entonces los mensajes de error mostrados en su lugar. Entonces eso es solo guardar nuestro código y luego probado. Entonces si tipo de factura de cadena sé que no existe al hacer clic en Aceptar, verás nuestro mensaje de error patea en el trabajo requerido, pero no encontrado no puede continuar.
40. 4.5. Crear funciones definidas por el usuario: En el último video, vimos cómo se podía crear una función y luego llamarla desde una macro. No obstante, las funciones también se pueden utilizar dentro de las hojas de cálculo de Excel. Eso es lo que cubriremos en este video en la carpeta 04. Pasemos ahora a 05 Creación y función definida por el usuario. Si eres un usuario de Excel con experiencia, probablemente
estés familiarizado con la función de búsqueda B que no voy a estar haciendo en este video es crear nuestra propia variación de la función de búsqueda V, que tiene una función pro rata. En este ejemplo. El look up se está utilizando para calcular el bono anual que se paga a la gente de ventas, y si tomamos a la primera persona Alexander Williams, verás que tiene derecho a un pago de aguinaldo del 1.25%. Cae en este cuadro entre el cuarto de un 1,000,000 medio 1,000,000 pero está mucho más cerca del medio 1,000,000. Entonces si un sistema pro rata estuviera en su lugar en lugar de conseguir 1.25 porque se ha quedado corto del medio mil millones requerido para 2.5% estaría consiguiendo una cifra pro rata. Por lo que debido a que sus ventas se acercan al límite superior de la banda en la que cae, por lo que sus tasas de aguinaldo también aumentarán. Por lo que en nuestro sistema pro rata, obtienes un bono de alrededor del 2.4%. Entonces eso es una especie de visual básico. Y empecemos mi incesante módulo. Lo llamaré M Usuario definido desde. Y ahora necesitamos insertar una función pública. Yo lo llamaré ser, buscar pro rata. Empecemos definiendo nuestras variables. Y al mismo tiempo describiré la técnica que vamos a utilizar para llegar a la respuesta. Nuestro primer paso será identificar los límites superior e inferior que se aplican a cada persona, dijo Mira las ventas de la persona, y luego queremos saber en qué banda caen. Por lo que la primera persona, como se puede ver Onley buscar columna, cae en la banda entre un cuarto de 1,000,000 medio 1,000,000. Y luego, en la columna Retorno, la columna que contiene la respuesta. Él cae en el corchete de 1.25 a 2.5% y por supuesto, para esta función, tanto los valores de entrada en los valores de salida son numéricos. que de ahí se utilizará el tipo de datos doble para todas estas variables. A continuación, calcularemos el rango de búsqueda hacia arriba, y para ello simplemente restará los límites inferiores del límite superior. Y lo haremos tanto para la columna de búsqueda. Pero primera columna. Buscaré tabla en la columna de retorno en este caso, la segunda columna de nuestra tabla de mirar hacia arriba. Estas dos cifras nos dirán las bandas de entrada y salida dentro de las cuales necesitamos calcular la cifra pro rata final. Lo que ahora tenemos que hacer es calcular dónde dentro de estas bandas cae
realmente la cifra . El primer paso para hacer esto es calcular la diferencia entre la cifra de ventas que estamos buscando en los límites más bajos. Entonces en este caso, habrá una diferencia bastante grande porque esta cifra de ventas de persona está cerca del
límite superior . Entonces llamaremos a este DB l busco, def. Entonces, una vez que tengamos estas cifras en su lugar, podemos elaborar un factor nuestros pro subvenciones, y para ello se tomará la diferencia entre el valor de búsqueda hacia arriba en el límite inferior. Un hombre definió eso por el rango de mirar hacia arriba. Entonces si la cifra de ventas de la persona cae bang en el medio, terminaríamos sin 0.5. En este ejemplo, esta cifra de ventas de persona está muy cerca del límite superior. Por lo que terminamos con una cifra de 0.9374 y finalmente necesitaremos una variable de rango para que podamos recorrer el rango especificado por el usuario. No volvamos nuestra atención al otro tipo de variables hará que las
variables de parámetro . Por lo que comparamos nuestro V look up con el construido en V. Busca lo que tenemos aquí. Simplemente puedo hacer clic en el botón de función interior para que aparezcan la función con él. Ya verás que tenemos un parámetro llamado buscar valor. Después tenemos la mesa de Ray y luego tenemos la columna en. La próxima vez necesitaremos los tres de estos. No necesitaremos el parámetro opcional final, pero lo que haremos es usar exactamente la misma terminología que utiliza Excel. Y luego finalmente, necesitamos especificar el tipo de datos que se están devolviendo, que en este caso va a ser un doble sobresale, envidia
construida. Buscar arriba puede, por
supuesto, devolver valores de texto. Pero para nuestra función, el texto no tiene sentido. El punto de pro rata es calcular un valor de salida numérica, por lo que nuestra función solo necesita pensar en devolver un doble. Por lo que nuestra primera tarea es localizar qué partidos prohibidos para superar el valor. Por lo que el uso se va a especificar la tabla la tabla buscar hacia arriba. Al hacer una de tres cosas pueden arrastrar a través sólo de las figuras que podrían beber a través toda
la mesa, incluido el encabezamiento. O pueden hacer lo que la mayoría de la gente hace y arrastrado por los encabezados de las columnas. Por lo que la estrategia que vamos a tomar es iniciar en la parte superior izquierda del rango especificado. Y luego antes de proceder, sólo
tendremos que calcular si estamos en una celda que contenga un número. Y si no estamos debilitados, entonces sólo mueva hacia abajo una celda, lo que nos llevará a la primera celda numérica dentro del rango. Entonces, cuando configuramos el look orangey hacia arriba, necesitamos mirar dentro de nuestro parámetro de matriz de tabla en que se ha definido como arreglado. Entonces desde que presioné puntos, la inteligencia me da todos los miembros que se aplican al objeto de rango en lo que nos
interesa son las celdas dentro del rango. Y para llegar a la parte superior izquierda, decimos rodar siguiente una columna, índice uno. Entonces ese es nuestro punto de partida. Entonces podemos usar un comunicado de una línea si decir, si venden no contenía un número. Simplemente bajemos un yo para que eso nos lleve a la primera celda numérica. Y luego queremos seguir moviéndonos hacia abajo hasta llegar a una celda, que o bien contiene un valor. Es mayor que el look up. Los valores en este caso se detendrán en realidad en medio 1,000,000. O si esta persona hubiera vendido realmente moviendo un 1,000,000 nos sacarían justo del borde de la mesa. Entonces también hay que decir:
Oh, Oh, venimos a una celda en blanco. Por lo que cualquiera de esos dos, o bien
venimos a agredir. Contiene un número mayor que el valor de búsqueda hacia arriba, o llegamos a una celda en blanco. Entonces voy a usar un bucle do while para esto, y simplemente queremos bajar de nuevo. Entonces después de que este código se ejecute, o
vamos a estar en un alma dentro de la mesa en la primera columna de la tabla. Si se exceden las cifras de ventas de
los usuarios, el valor máximo estará en esa habitación en blanco. Entonces, tratemos primero con la fila en blanco, porque eso es lo más simple. Si están en la carretera en blanco, simplemente
obtienen la tasa más alta. Así que básicamente necesito usar la propiedad offset para subir una celda y escribir una celda . Entonces ese es el valor que la función devolverá tal retorno de valor. Utilizamos el nombre de nuestra función, y establecemos eso igual al valor giro errante. Y por supuesto, nos encontraremos y de lo contrario y luego un final. Si es así, en el escenario de lo demás estamos en una de estas celdas en entonces nos interesaron poblar nuestras cuatro variables para calcular los límites superior e inferior tanto de la columna Buscar arriba devolver Colin. Por lo que sólo voy a copiar esta sección. Ondas modifican el código. Entonces primero los golpeamos y cambiamos todos los vamos todos del Dimmesdale. Vamos. Simplemente especificamos qué va a ser cada uno de ellos. Por lo que el look superior hacia arriba simplemente será naranja look hasta valor, y luego cada uno de los otros simplemente se compensará. Entonces éste necesitamos subir uno menos 10 y luego llegar a la columna de retorno. Entonces si la primera persona esta será nuestra RMG, mira hacia arriba. Entonces para llegar a los límites de retorno superiores, simplemente
tenemos que ir a la derecha y luego para el inferior nos levantamos uno y escribimos uno, Así que éste será 01 en este será menos 11 Siguiente calculamos nuestros rangos y eso es simplemente el diferencia entre los límites superior e inferior. Por otra diferencia necesitará es la diferencia entre el valor de búsqueda hacia arriba en el
límite inferior , y esto nos dirá cuál será el pro rata. Por lo que aquí pudimos ver a esta persona está muy cerca del límite superior. Entonces tomamos su figura y le restamos el límite inferior. Entonces aquí usamos el look up, valorado especificado por el usuario en restamos de bl inferior look up. Entonces una vez que tenemos todos estos cálculos en su lugar, estamos en casa y secos. Podemos calcular la cifra pro rata y luego a partir de eso podemos calcular el valor final devuelto por la función. ¿ Calculaste el pro rata? Simplemente tenemos que dividir el look up def por el rango que forma parte. Y luego finalmente, para ponerse en función para devolver un valor. Usamos el nombre de la función como lo hicimos aquí en la parte positiva de la declaración ¿qué habrá que hacer? Es festival multiplicar rango de retorno D B l, figura del programa de compra, y luego agregar ese valor al límite inferior de nuestra sección de retorno. Por lo que para esta primera persona que recuerdas, cae muy cerca del límite superior de su corchete. Por lo que tenía un alto d bl pro rata de no 0.9 algo encendido. Lo que entonces hacemos es multiplicar ese pro rata por la diferencia entre estos dos que
nos da a los programas un factor que luego sumamos a sus límites más bajos. Entonces en lugar de simplemente meterse en el límite inferior, que sea mirar hacia arriba, le
da ese límite inferior más grande más el pro subsidio o cantidad dentro de la banda en la
que cae. Entonces vamos a guardar y probar nuestro código y a probar nuestro código. Simplemente podemos eliminar el look up original y él dice, yo corro así que está dentro de la función, y luego tus funciones,
las que definas estarán bajo una categoría especial de oro usuario definido. Y ahí está. Buscas programa. Qué significa establecer la función, Todos los parámetros que hemos definido. Se trata de cuchilla exactamente de la misma manera que para funciones integradas. Entonces miro el valor será demasiado matriz de tabla de no va a usar los métodos de columna. Estoy bebiendo a través de los dos encabezados de columna y tira del índice de columna. A él
también se le llama . América es así que su tasa de bonos en lugar de Bean 1.25 tendría frijol contigo. Mirar hacia arriba está ahora más cerca del límite superior en su 2.5. Acabo de hacer doble clic para copiar eso para todos, y podríamos hacer una prueba final si pongo un 1,000,000 delante de su figura. Ahora obtiene los límites superiores de 7.5, así que simplemente no lo hagamos. Ese es un ejemplo de dónde podría usar una función definida por el usuario donde desea calcular un valor dentro del cuerpo de la hoja de trabajo en. No hay una función de Excel integrada que haga exactamente lo que necesitas