manual de macros vba excel

Upload: manuel-gabino

Post on 31-Oct-2015

177 views

Category:

Documents


2 download

TRANSCRIPT

  • Utilidad de una macro

    Anteriormente definimos a las macros como algo que nos permite expandir e

    incrementar las prestaciones de la hoja Excel. Cules seran algunos ejemplos de esto?

    Bueno, los ejemplos los iremos viendo en este manual, pero a grandes rasgos podemos

    comentar que las 4 grandes "reas" donde se aplican las macros son:

    1. Automatizacin de procesos

    Cansado de realizar tareas repetitivas o manuales en Excel? Las macros nos permiten

    grabar o definir nuestros procesos y luego ejecutarlos automticamente con 1 clic. Nos

    pueden ahorrar muchas horas de trabajo! Con las macros podrs hacer tu trabajo mucho

    ms rpido. Hemos visto casos extremos de trabajos en Excel que llevaban 6 o 7 horas

    de armado manual y luego pudieron ser automatizados en una macro que haca todo en

    pocos segundos!

    2. Creacin de funciones a medida

    Deseas crear nuevas funciones y clculos personalizados? Las funciones y frmulas

    Excel son la esencia de la hoja de clculos. Podemos programar funciones a medida que

    hagan exactamente lo que nosotros queremos. Y esas funciones se comportarn igual

    que las de Excel (aparecern en el men de funciones en la categora que nosotros

    indiquemos, tendrn sus respectivos argumentos, etc).

    3. Creacin de nuevos comandos, complementos y mens

    Excel trae una gran cantidad de comandos y mens predefinidos que nos asisten para las

    operaciones ms habituales. Las macros nos permiten crear nuestros propios comandos

    y mens personalizados, e incorporarlos al Excel. La utilidad de los mismos depende

    tan solo de nuestras necesidades. Los complementos Excel tambin estn creados con

    macros.

    4. Creacin de aplicaciones a medida

    Excel es utilizado en diversos campos y por una gran cantidad de usuarios. Las macros

    te permitirn construir complejas y elegantes aplicaciones para cualquier uso que

    quieras darles. El lmite solo es tu imaginacin. Una aplicacin Excel consiste en algo

    ms que una simple plantilla con datos y frmulas. Una aplicacin Excel es un

    verdadero programa de software con una serie de caractersticas que lo hacen utilizable

    por cualquier usuario sin que el mismo tenga que entender la lgica "exceliana" que hay

    por detrs.

  • 5. Formularios

    Finalmente, con las macros podremos armar todo tipo de formulario para entrada y

    gestin de datos. Dichos formularios pueden tener botones, listas desplegables, y todas

    las herramientas que encuentras en formularios profesionales. Adems, puedes hacer

    que los datos del formulario se vayan guardando en una tabla Excel para posteriores

    anlisis y reportes!

    Barra de herramientas

    La barra de herramientas de macros es considerablemente diferente entre Excel 2.003 e

    inferior y Excel 2.007.

    Excel 2.003

    El primer paso para empezar a programar macros es familiarizarnos con las

    herramientas que nos ofrece Excel para programarlas.

    Excel posee una Barra de Herramientas de Macros o VBA. Puedes acceder a la misma

    desde el men Herramientas > Macros. Dicho men se ve como en la fotografa a

    continuacin (fjate que tambin se indican las combinaciones de teclas para acceder a

    dichas opciones).

    Tambin tienes la opcin de dejar siempre visible dicha barra de herramientas. Puedes

    hacer esto desde el men Ver > Barras de Herramientas > Visual Basic. Veras como

    aparece una nueva barra de herramientas de macros. Puedes ubicar esta barra de

    herramientas donde te sea ms cmodo.

  • Excel 2.007

    En la nueva versin de Excel, las opciones del men de macros se encuentran en la

    ficha programador,.

    Si no tienes visible la ficha Programador, puedes activarla de la siguiente forma

    1. Presiona el botn de Office (botn redondo en la parte superior izquierda de la

    pantalla)

    2. En la parte inferior del men que se despliega, presiona el botn Opciones de Excel

    3. En la lista de opciones Ms Frecuentes, selecciona la casilla de Mostrar ficha

    programador en la cinta de opciones.

    Editor VBA

    El Editor de Visual Basic es la aplicacin que trae Excel desde donde se escriben y

    guardan las macros. Tienes 3 formas de acceder al editor:

    Excel 2.003

    1. Desde el men Herramientas > Macros > Editor de Visual Basic

    2. Desde el botn Editor de Visual Basic de la Barra de Herramientas Visual Basic.

    3. Desde el teclado (Teclas de Mtodo Abreviado): ALT+F11

    (El acceso a la Barra de Herramientas de la opcin 1 y 2 los explicamos en la seccin

    anterior)

    Excel 2.007

    1. Desde la ficha Programador > botn Visual Basic

    2. Desde el teclado (Teclas de Mtodo Abreviado): ALT+F11

    (El acceso a la ficha programador lo explicamos en la seccin anterior)

    Nuestra forma preferida de acceder al editor de macros es con las teclas ALT + F11

    Una vez que hayas accedido al editor de visual basic vers algo similar a la figura

    siguiente (no importa si no lo ves estrictamente similar, eso depender de las ventanas

  • que tengas visibles y ocultas). Puedes mostrar u ocultar estas ventanas desde el men

    Ver.

    El editor contiene 4 ventanas principales:

    La Ventana Proyecto (parte izquierda superior)

    La Ventana de Cdigo (parte derecha)

    La Ventana Propiedades (parte izquierda inferior)

    La Ventana Inmediato (parte inferior derecha)

    Ventana Proyecto - VBA Project: esta ventana muestra los libros excel (xls) o los

    complementos (xla) abiertos. Usualmente vers nombres del tipo "VBAProject" y entre

    parntesis el nombre del archivo o complemento excel. Veamos el caso de VBAProject

    (Libro1). Simplemente significa que tienes abierto un libro Excel llamado Libro 1.

    Luego cuelgan 3 carpetas ms: Hoja1 (Hoja1), ThisWorkbook y Modulo (no importa si

    ves todos estos elementos ahora, luego te ensearemos como activarlos). Estas carpetas

    es donde habitan las macros. Haciendo doble clic en ellas activars la ventana donde se

    escriben las macros.

  • Ventana de Cdigo: esta es el lugar donde escribiremos el cdigo propiamente dicho

    de las macros. Como no hemos escrito ninguna macro todava veremos la hoja en

    blanco. Recuerda bien estas dos ventanas, ya que las usaremos a continuacin para

    escribir nuestra primera macro.

    Como vers el Editor de VB tiene muchas ventanas. Pero de momento solo nos

    interesan las dos ventanas que te indicamos anteriormente: la Ventana Proyecto VBA Project y la Ventana de Cdigo donde se escribe el cdigo de las macros. La Ventana de

    Propiedades e Inmediato las dejaremos para ms adelante.

    Recuerda: presionando las teclas ALT+F11 puedes ir desde Excel al Editor o desde el

    Editor al Excel de forma alterna (debes mantener presionada la tecla ALT y presionar

    F11 repetidas veces, vers como pasas de Excel al editor y viceversa).

  • Si estas en el editor y quieres regresar a la hoja Excel tambin puedes utilizar el cono

    de Excel que se encuentra en el men superior del editor (primer cono de la izquierda,

    con la X de Excel).

    Escribir una macro

    Nuestro objetivo fue crear una macro que escribiera el valor 1500 en la celda A1 de la

    Hoja1 de Excel. Como era una macro sencilla decidimos escribir el cdigo

    manualmente. Vamos a resumir todos los pasos que hicimos hasta aqu:

    1. Creamos un nuevo libro Excel y lo guardamos con el nombre Libro1.

    2. Accedimos el Editor de Visual Basic con las teclas ALT+F11

    3. En la Ventana Proyecto, en VBAProject (Libro1), hicimos doble clic en Hoja1

    (Hoja1).

    4. En la Ventana de Cdigo escribimos textualmente el siguiente cdigo:

    ' Esta macro escribe el 1500 en la celda A1

    Sub MiPrimeraMacro()

    Range("A1").Value = 1500

    End Sub

  • Todo qued como se aprecia en la foto...

    5. Finalmente abrimos el men de macros con ALT+F8, seleccionamos

    MiPrimeraMacro desde la lista de nombres y presionamos Ejecutar.

    6. El resultado es que en la celda A1 se vuelve a escribir el valor 1500, que fue

    justamente lo que le indicamos a la macro que haga.

  • Recuerda: en estos 5 pasos hemos visto rpidamente como escribir una macro sencilla

    y ejecutarla. En las secciones siguientes iremos profundizando ms estos temas, sobre

    todo el referente el cdigo de la macro.

    Ejecutar la macro

    Excel 2.003

    Si ya tienes escrita la macro en el editor, ahora podrs que ejecutarla, o sea hacer que

    funcione. Tienes 2 formas de hacer esto:

    A. Ejecutar la macro desde el mismo Editor

    Si te posicionas en cualquiera de las lneas de cdigo de la macro y luego presionas la

    tecla F5 la macro se ejecutar (para ver el resultado puedes volver a la hoja excel con

    ALT+F11).

    B. Ejecutar la macro desde Excel

    Otra forma de ejecutar la macro es desde el mismo Excel. Puedes hacerlo desde el men

    Herramientas > Macros > Macro.

    Se abrir un cuadro que contiene una lista con los nombres de las macros creadas.

    Selecciona MiPrimeraMacro y haz clic en Ejecutar.

  • Si has seguido cualquiera de los 2 pasos anteriores ya podrs ver el resultado de la

    macro. Qu hizo la Macro? Si te fijas en el Libro 1, Hoja 1, Celda A1 vers que se

    escribi el valor 1.500. Eso es exctamente lo que queramos hacer con nuestra macro,

    as que tarea cumplida. Hemos escrito un valor en una celda excel desde una macro !

    Excel 2.007

    Si ya tienes escrita la macro en el editor, ahora podrs que ejecutarla, o sea hacer que

    funcione. Tienes 2 formas de hacer esto:

    A. Ejecutar la macro desde el mismo Editor

    Si te posicionas en cualquiera de las lneas de cdigo de la macro y luego presionas la

    tecla F5 la macro se ejecutar (para ver el resultado puedes volver a la hoja excel con

    ALT+F11).

    B. Ejecutar la macro desde Excel

    Otra forma de ejecutar la macro es desde el mismo Excel. Esto se hace desde la ficha

    Programador > Macros

    Se abrir un cuadro que contiene una lista con los nombres de las macros creadas.

    Selecciona MiPrimeraMacro y haz clic en Ejecutar.

  • Si has seguido cualquiera de los 2 pasos anteriores ya podrs ver el resultado de la

    macro. Qu hizo la Macro? Si te fijas en el Libro 1, Hoja 1, Celda A1 veras que se

    escribi el valor 1.500. Eso es exactamente lo que queramos hacer con nuestra macro,

    as que tarea cumplida. Hemos escrito un valor en una celda excel desde una macro !

    Grabar una macro

    Excel trae incorporada una grabadora de macros. La misma funciona de forma muy

    fcil. Encendemos la grabadora, ejecutamos las acciones que nos interesan sobre la hoja

    excel, paramos la grabadora ylisto!. Excel escribe de forma automtica el cdigo VBA de la macro.

    Ahora podemos hacer un experimento muy interesante. Repetir nuestra primera macro,

    pero esta vez hacindola con la grabadora de macros. Sigue los pasos a continuacin:

    Excel 2.003

    1. Vamos a grabar la macro

    1.1 V al men Herramientas > Macros

    1.2 Selecciona la opcin Grabar nueva macro

  • 1.3 Se abrir un cuadro de dilogo como el que se muestra a continuacin.

    1.4 Donde dice Nombre de la macro escribe MiPrimeraMacro. Ese ser el nombre que

    le daremos a nuestra macro.

    1.5 Presiona Aceptar y la macro comenzar a grabar todo lo que hagas.

    1.6 Posicinate en la celda A1 y escribe el valor 1500.

    2. Barra para frenar la grabacin

    Cuando comienza a grabar la macro activa una nueva barra de macros como la que se

    muestra en la foto. El botn cuadrado de la izquierda te permitir parar la grabacin y

    finalizar la macro.

    Otra forma de detener la grabacin de la macro es desde el men Herramientas >

    Macros > Detener grabacin. Hazlo ahora para detener la grabacin.

  • 3. Veamos como qued la macro grabada

    3.1 Accede al editor de visual basic con ALT+F11.

    3.2 Debes hacer clic en Mdulo1 para visualizar el cdigo de la nueva macro grabada.

    Vers una pantalla como la siguiente:

    * Podrs obsevar que el cdigo que se grab es distinto que el cdigo que habamos

    escrito cuando hicimos la macro manualmente. Ms adelante en este mismo captulo

    analizaremos y explicaremos las diferencias.

    4. Vamos a probar la macro

    4.1 Vuelve a Excel con ALT+F11.

    4.2 Vers que la celda A1 tiene el valor 1500 porque lo escribimos mientras

    grabbamos la macro.

    4.3 Para ver como opera la macro borra dicho valor.

  • 4.4 Abre el men de macros desde el men Herramientas > Macro > Macros

    4.5 Selecciona MiPrimeraMacro (no te confundas con Hoja1.MiPrimeraMacro que es la

    que hicimos primero).

    4.6 Presiona Aceptar y vers como se escribe nuevamente el valor 1500 en la celda A1.

    Excel 2.007

    1. Vamos a grabar la macro

    1.1 V a la ficha Programador > Grabar macro

    1.2 Se abrir un cuadro de dilogo como el que se muestra a continuacin.

    1.4 Donde dice Nombre de la macro escribe MiPrimeraMacro. Ese ser el nombre que

    le daremos a nuestra macro.

    1.5 Presiona Aceptar y la macro comenzar a grabar todo lo que hagas.

    1.6 Posicinate en la celda A1 y escribe el valor 1500.

    2. Detener la grabacin

    Para terminar de grabar, debemos presionar el botn de detener grabacin

  • 3. Veamos como qued la macro grabada

    3.1 Accede al editor de visual basic con ALT+F11.

    3.2 Debes hacer clic en Mdulo1 para visualizar el cdigo de la nueva macro grabada.

    Vers una pantalla como la siguiente:

    * Podrs observar que el cdigo que se grab es distinto que el cdigo que habamos

    escrito cuando hicimos la macro manualmente. Ms adelante en este mismo captulo

    analizaremos y explicaremos las diferencias.

    4. Vamos a probar la macro

    4.1 Vuelve a Excel con ALT+F11.

    4.2 Vers que la celda A1 tiene el valor 1500 porque lo escribimos mientras

    grabbamos la macro.

    4.3 Para ver como opera la macro borra dicho valor.

    4.4 Abre el men de macros presionando ALT+F8

    4.5 Selecciona MiPrimeraMacro (no te confundas con Hoja1.MiPrimeraMacro que es la

    que hicimos primero).

  • 4.6 Presiona Aceptar y vers como se escribe nuevamente el valor 1500 en la celda A1.

    Cmo acceder

    El Editor de Visual Basic es la aplicacin que trae Excel desde donde se escriben y

    guardan las macros. Tienes 3 formas de acceder al editor:

    La forma ms rpida de acceder al editor es presionando ALT+F11

    Tambin tienes otras formas de acceder:

    Excel 2.003: desde el men Herramientas > Macros > Editor de Visual Basic

    Excel 2.007: desde la ficha Programador > Visual Basic

    Cuando accedas al editor vers algo como similar a esto:

    Las principales ventanas de editor son:

    Proyecto (arriba a la izquierda)

    Propiedades (abajo a la izquierda)

    Inmediato (arriba a la derecha)

    Cdigo (abajo a la derecha)

  • No importa si no ves todas las ventanas (se pueden mostrar u ocultar desde el men

    "Ver"). En las secciones siguientes te explicaremos la utilidad de cada una de estas

    ventanas.

    Ventana Proyecto

    Veamos una foto para ver como se ve la ventana de Proyecto. Si no la puedes visualizar

    esta ventana puedes activarla desde el men Ver > Explorador de proyectos, dentro del

    editro de visual basic.

    En la ventana de Proyecto hay carpetas donde se guardarn y escribirn las macros.

    Hemos presionado el botn Alternar Carpetas para que se ordenen mejor los elementos,

    como se ve a continuacin:

    Proyectos

    En un primer nivel tenemos los proyectos. Por regla general, cada libro excel tiene

    asociado un proyecto. Por ejemplo, si creas un nuevo libro Excel desde el men de

    Excel Archivo > Nuevo y vuelves al editor de macros (ALT+F11), vers que aparece el

    proyecto VBAProject(Libro1). Dentro del parntesis aparece el nombre de tu libro excel

    y lo de VBAProject podrs cambiarlo luego.

    En resumen VBAProject(Libro1) es la carpeta principal, asociada a un libro Excel

    determinado, donde insertaremos todo lo referido a las macros para dicho libro.

    Carpetas

    En un segundo nivel tenemos 3 carpetas:

    - Microsoft Excel Objetos

    - Formularios

    - Mdulos.

  • Veamos cada una de ellas:

    1. Microsoft Excel Objetos

    En esta carpeta vemos que cuelgan dos elementos:

    1.1 ThisWorkbook siempre est presente. Si escribimos una macro aqu la misma

    afectar a todo el libro.

    1.2 Hoja1 (Hoja1) hace referencia las hojas de Excel (habr 1 por cada hoja de nuestro

    libro). Si escribimos una macro aqu la misma solo afectar a la hoja en cuestin.

    2. Formularios

    Los formularios son ms conocidos como UserForms. Si no lo visualizas puedes

    agregarlos desde el men Insertar > Userform.

    2.1 Dentro de la carpeta de Formularios vemos un elemento llamado Userform1.

    Todo el tema de formularios lo veremos con ms en detalle en el captulo

    "Formularios".

    3. Mdulos

    Los mdulos sirven para escribir macros a nivel genrico, sin estar relacionadas a la

    hoja o libro en particular. Si no visualizas ninguno puedes agregarlos desde el men

    Insertar > Mdulo.

    3.1 Dentro de la carpeta de Mdulos vemos que hay un elemento llamado Mdulo1.

    Podemos insertar tantos mdulos como necesitemos. En los mdulos podemos escribir

    macros que operan de forma genrica, sin distinguir entre hojas o libros.

    Haciendo doble clic izquierdo en cualquiera de estos objetos vers que se habilita la

    Ventana de Cdigo de la izquierda (una hoja en blanco grande). En la misma es donde

    se escriben las macros.

    Recuerda: antes de escribir una macro debes evaluar donde hacerlo.

    1. Si es una macro que solo debe afectar una hoja en particular escrbela en los objetos

    de Hoja, en el nombre de Hoja correspondiente.

    2. Si la macro debe afectar a todo un libro en particular escrbela en el objeto

    ThisWorkbook. Estas suelen ser macros que se ejecutan al abrir, cerrar o guardar el

    libro.

    3. Si la macro es de tipo genrica escrbela en un Mdulo.

    4. Si quieres hacer un formulario utiliza el objeto Userform.

  • Ventana Propiedades

    Veamos como se ve la Ventana Propiedades. Esta ventana se ubica en la parte inferior

    izquierda de la pantalla. Si no la puedes visualizar puedes activarla desde el men Ver >

    Ventana propiedades.

    Cada objeto tiene sus propiedades. Por ejemplo, si hacemos doble clic en el objeto

    Mdulo1 que vimos en la seccin anterior, podremos ver sus propiedades:

    Algunos objetos tienen muchas propiedades (por ej. los Userforms) as que tenemos la

    opcin de ordenar lso mismos de forma alfabtica o por categora. El objeto Mdulo1

    solo tiene la propiedad (Name)Mdulo1. Si quisiramos podramos reemplazar el

    nombre de Mdulo1 y asignar otro nombre a gusto.

    Consejo: en la medida que vamos insertando muchas macros en nuestro proyecto,

    conviene ir creando nuevos mdulos con nombres apropiados para mantener ordenadas

    nuestras macros.

    El resto de las propiedades de los otros objetos escapa al alcance de esta seccin, pero

    podrs ver algunas en la 2 parte de este curso.

    Ventana Cdigo

    Veamos una foto para ver como se ve la Ventana de Cdigo. Cada vez que hagas doble

    clic izquierdo en algn Objeto de la Ventana Proyecto se activar a la derecha la

    Ventana de Cdigo. Si no la puedes visualizar puedes activarla posicionndote en el

    Objeto en cuestin y luego desde el men Ver > Cdigo.

    Si todava no has escrito ninguna macro vers la ventana de cdigo en blanco. En

    nuestro ejemplo hemos escrito 3 macros:

  • Esta ventana no tiene mayores complicaciones. Lo que interesa es ms bin el cdigo

    que escribamos aqu. Puedes escribir todas las macros que quieras en esta ventana.

    Recuerda que el mismo editor asignar automticamente los colores al cdigo y adems

    separar con una lnea continua cada macro.

    En la medida que empecemos a escribir muchas macros, existe una forma rpida de

    movernos entre ellas. Desde la lista desplegable de la parte superior derecha podremos

    ver la lista de macros escritas. Haciendo clic en cualquiera de ellas el editor nos

    posicionar rpidamente en la misma.

  • Ventana Inmediata

    Veamos como se ve la Ventana de Inmediato. Si no la puedes visualizar puedes

    activarla desde el men Ver > Ventana Inmediato.

    La ventana inmediata sirve para escribir, ejecutar y probar un cdigo macro

    rpidamente, sin tener que armar toda la macro con la estrucuta que comentamos en

    secciones anteriores.

    Por ejemplo, si quisiramos averiguar la cantidad de hojas que tiene un Libro

    podramos escribir la siguiente macro en un mdulo y ejecutarla:

    Sub ContarHojas()

    Dim N As Long

    N= thisworkbook.Sheets.Count

    Msgbox N

    End Sub

    De momento no importa los objetos, propiedades o mtodos que hemos utilizado. Solo

    te queremos mostrar que es una macro de 5 lneas. Ahora supongamos que solo nos

    interesa saber el nmero de hojas del libro, pero no queremos armar toda la macro, solo

    nos interesa obtener el resultado. Entonces, en la ventana inmediato podemos escribir:

    ?thisworkbook.Sheets.Count y al presionar Enter en la fila siguiente nos mostrar el

    nmero de hojas que posee el libro. El signo ? al comienzo significa que estamos

    buscando conocer el resultado de algo. El resultado final se vera as, suponiendo que el

    libro tiene 1 hoja:

    Veamos otro ejemplo. Si el libro fue guardado, podramos querer averiguar el

    directorio donde se encuentra. Podramos averiguarlo desde la Ventana Inmediato,

    escribiendo ?thisworkbook.Path y presionando Enter. Al presionar Enter, en la fila

    siguiente se mostrar la ruta del libro, por lo que en la Ventana Inmediato veremos algo

    as, suponiendo que el libro se encuentra guardado en ese directorio:

  • En los 3 ejemplos anteriores buscbamos un resultado y anteponamos el signo ? al

    comienzo de la instruccin (buscbamos un nombre o un nmero). En otros casos

    podemos ejecutar una accin directamente y por lo tanto escribimos la macro sin el

    signo ?. Por ejemplo, si queremos que en la celda A1 aparezca el valor 100 lo podemos

    ejecutar desde la Ventana Inmediato como se ve a continuacin:

    En la celda A1 de la Hoja activa de Excel aparecer el valor 100.

    Recuerda: desde la Ventana Inmediato puedes ejecutar macros de forma inmediata,

    como su nombre lo indica. Pero dichas macros solo se ejecutan 1 vez al presiona enter y

    no quedan disponibles en la lista de macros ni las puedes utilizar en tus desarrollos

    (asignndolas a botones o formularios).

    Proteger el cdigo

    As como se pueden proteger los libros, las hojas y las celdas de Excel, tambin es

    posible proteger con una contrasea el cdigo de nuestras macros. Una vez que tengas

    tus macros escritas en el editor puedes ir al men Herramientas > Propiedades de

    VBAProject... y luego hacer clic en la pestaa de Proteccin. Vers una ventana como

    la de la siguiente:

  • Para proteger tus macros sigue estos pasos:

    1. Tilda la casilla Bloquear proyecto para su visualizacin

    2. Escribe una Contrasea

    3. Vuelve e escribir tu contrasea en Confirmar contrasea

    De esta forma, cuando alguien acceda al editor, ver la ventana proyecto del libro pero

    no podr ver los objetos donde quedan escritas las macros (mdulos, hojas y userforms).

    Si hace doble clic en el Proyecto aparecer una ventana solicitando la clave.

    Desde objetos

    Muchas veces, y sobre todo cuando desarrolles aplicaciones en Excel, te interesar

    asignar macros a objetos grficos insertados en la hoja. Excel posee una gran cantidad

    de figuras y dibujos que puedes insertar en la hoja.

    Excel 2.003: desde el men Ver > Barra de Herramientas > Dibujo. Esto muestra un

    men como el siguiente:

    Excel 2.007: desde la ficha Insertar > Formas. Esto muestra un men como el

    siguiente:

  • Si ya has insertado una figura en tu hoja Excel, podrs asociarle una macro siguiendo

    estos pasos:

    1. Haz clic izquierdo en la figura para desplegar su men de opciones.

    2. Elige la opcin Asignar macro

    3. Al elegir la opcin de Asignar macro abrirs el el men de macros. Selecciona de la

    lista la macro de tu inters luego Aceptar.

  • 4. Finalmente la figura quedar con la macro asignada, de tal forma que cada vez que

    hagas un clic encima de la figura, se ejecutar la macro.

    Formularios

    Un Formulario (o su denominacin en ingls Userform) se utiliza para crear un Cuadro

    de Dilogo donde el usuario puede introducir informacin, o realizar otras operaciones.

    Al ejecutar muchas de las opciones del men de Excel se abren formularios. Por

    ejemplo, desde el men Herramientas > Opciones se abre un formulario como el

    siguiente, desde donde se pueden activar o desactivar distintas opciones de Excel.

  • Este formulario es muy completo y posee pestaas en la parte superior, casillas de

    seleccin (cuadraditos con tildes), casillas de opciones (crculos con un punto dentro) y

    listas desplegables (lista con una flechita que despliega distintas opciones).

    Tambin podemos crear nuestros propios formularios como se ve a continuacin.

  • Los Userforms se utilizan mucho para crear aplicaciones Excel que luzcan de forma

    profesional y permitan al usuario introducir datos o elegir opciones de una forma guiada

    y ms intuitiva.

    En este captulo aprenderemos como construir nuestros propios Userforms!

    Crear un formulario

    Para crear un Userform debemos hacer lo siguiente:

    1. Abrir el editor de macros (por ejemplo, con CTRL+F11).

    2. Insertar un objeto Userform. Esto podemos hacerlo fcilmente:

    2.1 Seleccionamos el Libro Excel donde trabajaremos, en nuestro caso VBAProject

    (Libro2).

    2.2 Hacemos clic derecho en el mismo y elegimos la opcin Insertar > Userform

    2.3 Como se ve en la fotografa, veremos que aparece un objeto Userform1 que cuelga

    de la carpeta Formularios

  • 3. En la ventana de Cdigo de la derecha, veremos que aparece un Userform en blanco,

    sin controles. Para abrir su Cuadro de Herramientas puedes hacerlo desde el men Ver >

    Cuadro de Herramientas. Ah figuran los controles que podremos agregar dentro del

    Userform. Para adir uno, simplemente hacemos clic izquierdo en el control deseado y

    luego clic izquierdo dentro del Userform, en el sitio donde querramos agregar el control.

    La idea es que mediante estos controles podremos tanto capturar como enviar

    informacin o datos desde o hacia las celdas de Excel respectivamente. Tambin

    podemos asociar macros a los controles que agreguemos al Userform (todo esto lo

    veremos en secciones siguientes).

  • Si te posicionas sobre los Controles del Cuadro de herramientas, vers que aparece su

    nombre. Simplemente hacemos clic izquierdo en el control deseado y luego clic

    izquierdo en el Userform, en el sitio donde querramos agregar el control. En nuestro

    caso hemos agregado algunos controles de forma desordenada dentro del Userform.

    Controles del formulario

    Como veamos anteriormente, tenemos una serie de controles para agregar al Userform,

    que los podamos visualizar desde el men Ver > Cuadro de Herramientas.

    Ahora explicaremos brevemente la utilidad de cada control. Los controles se explican

    en el mismo orden que aparecen en el Cuadro de Herramientas y en la figura anterior

    (de izquierda a derecha y de arriba hacia abajo).

    Seleccionar objetos: sirve para seleccionar controles que hayamos insertado en el

    Userform.

    Label (etiqueta): sirve para poner un ttulo o un texto.

  • Ejemplo: podemos poner un texto del tipo "Complete las opciones a continuacin" y

    ubicarlo en cualquier sitio del Userform. Tambin podemos agregar ttulos o

    descripciones al resto de comandos que agregemos en el Userform.

    Textbox (cuadro de texto): sirve para que un usuario introduzca datos.

    Ejemplo: queremos que el usuario introduzca una fecha o un nombre (que luego

    llevaremos a alguna celda de Excel).

    ComboBox (cuadro combinado): sirve para que un usuario elija una opcin de una

    lista.

    Ejemplo: creamos una lista con los meses de Enero a Diciembre para que el usuario

    elija uno de ellos.

    ListBox (cuadro de lista): sirve para que un usuario rellene o elija varias opciones de

    una lista.

    Ejemplo: creamos una lista con Regiones o Ciudades y el usario deber elegir una o

    varias de ellas.

    CheckBox (casilla de verificacin): sirve para que un usuario active una determinada

    funcin.

    Ejemplo: podemos hacer que al cerrar el Userform se imprima un reporte solo si la

    casilla de seleccin est tildada.

    OptionButton (botn de opcin): sirve para que un usuario seleccione una opcin

    determinada entre varias posibilidades.

    Ejemplo: queremos que el usuario indique si es de sexo Masculino o Femenino. De

    todas las opciones solo se puede seleccionar una de ellas.

    ToggleButton (botn de alternar): sirve para activar o desactivar alguna

    funcionalidad. Este botn adopta el modo "Encendido" / "Apagado".

  • Ejemplo: queremos que el usuario defina su idioma, en modo encendido espaol y en

    modo apagado ingls.

    Frame (marco): sirve para agrupar elementos de un Userform (los elementos se deben

    ubicar dentro del Frame).

    Ejemplo: tenemos varias grupos de OptionButton y para distinguirlos los agrupamos

    con un Frame. Si tenemos un grupo de opciones tipo masculino/femenino los

    agrupamos dentro de un frame. Si luego tenemos otro gurpo de opciones del tipo Mayor

    de Edad / Menor de Edad los agrupamos dentro de otro Frame.

    CommandButton (botn de comando): es un simple botn que nos permite ejecutar

    acciones.

    Ejemplo: un botn de Ayuda que ejecuta otro Userform con ayuda para el usuario.

    TabStrip (barra de tabulaciones): en un mismo Userform se pueden crear distintas

    secciones.

    Ejemplo: un userform con cuatro secciones: Norte, Sur, Este y Oeste. Dentro de cada

    seccin podemos ubicar distintos controles.

    MultiPage (pgina mltiple): en un mismo Userform se pueden crear distintas

    pginas.

    Ejemplo: un userform con 2 pginas: Espaa y Resto del Mundo. Dentro de cada pgina

    podemos ubicar distintos controles o distintas secciones.

    ScrollBar (barra de desplazamiento): si tenemos una lista con muchos elementos el

    scrollbar nos permite navegarlos.

    Ejemplo: tenemos una lista con 150 pases. Con el ScrollBar podemos subir y bajar por

    la lista de los mismos utilizando las flechas de desplazamiento.

    SpinButton (botn de nmero): permite aumentar o disminuir valores.

  • Ejemplo: tenemos una lista con tipos de inters y queremos que sean incrementados o

    disminudos en cantidades predeterminadas desde el SpinButton.

    Image (imagen): permite introducir imgenes en el Userform.

    Ejemplo: queremos introducir una fotografa como fondo del Userform para darle un

    aspecto ms profesional.

    RefEdit (referencia): permite hacer referencia a una celda de Excel.

    Ejemplo: queremos que el usuario seleccione un dato que fue introducido previamente

    en una celda Excel.

    Haciendo doble clic en cada control se abrir una venta donde podremos escribir y

    asociarle una macro. En la seccin siguiente veremos un ejemplo simple sobre como

    crear un Userform paso a paso.

    Para ver como se veran estos controles dentro del Userform, vamos a crear un

    Userform que contiene los 15 controles que se pueden agregar. Los hemos agregado en

    el mismo orden en que aparecen en el Cuadro de Herramientas.

    Ejemplo paso a paso

    Antes de crear un Userform debemos pensar bien cul ser su objetivo y cules son los

    controles que utilizaremos.

  • Objetivo

    Crear un Userform para que un usuario complete unos datos personales (Nombre, Edad

    y Fecha de Nacimiento). Luego que el usuario complete sus datos, al apretar un botn,

    los mismos se volcarn en una tabla de Excel.

    Los controles que utilizaremos son:

    Textbox: para que el usuario ingrese los datos

    Label: para darle el nombre e los Textbox

    CommandButton: para proceder con el ingreso de datos o cancelar

    1. Creamos la tabla en la hoja Excel

    Primero debemos crear un nuevo libro que contenga una tabla Excel donde se volcarn

    los datos del Userform. Para esto creamos un nuevo libro llamado Datos.xls y creamos

    la siguiente tabla:

    2. Creamos un Userform (UF)

    Los UF se crean desde el editor de visual basic.

    2.1 Abrimos el editor con ALT+F11

    2.2 Seleccionamos Ver > Explorador de Proyectos para ver la lista de proyectos

    disponibles (los mismos se vern en la parte izquierda de la ventana).

    2.3 En la venta de Proyectos seleccionamos VBAProject(Datos.xls)

    2.4 Desde el men superior elegimos Insertar > Userform

    2.5 Aparecer un nuevo Userform vaco junto con el Cuadro de Herramientas (si el

    mismo no aparece se puede abrir desde el men Ver > Cuadro de Herramientas)

  • 3. Nombramos el Userform

    3.1 Abrimos las propiedades desde el men Ver > Ventana Propiedades.

    3.2 Hacemos doble clic en donde dice (Name) UserForm1, en la parte superior y

    tipeamos DatosUF, luego Enter (este es el nombre con el que nos referiremos al

    Userform desde las macros).

    3.3 El nombre del Userform cambi en la Ventana de Proyecto, pero el Userform

    mismo sigue mostrando "Userform1" en su barra de su ttulo. Para cambiarlo vamos a la

    Ventana Propiedades, hacemos doble clic en Caption, escribimos Datos Personales

    (encima de Userform1) y luego Enter. Ahora, la barra de ttulo del Userform es ms

    apropiada para nuestro propsito y para darle mejor informacin al usuario.

  • 4. Agregamos un Cuadro de Texto

    Para permitir que el usuario ingrese datos en el Userform agregamos un control

    TextBox, desde el Cuadro de Herramientas.

    4.1 Hacemos clic en el control de TextBox y luego hacemos clic en el Userform, en la

    parte donde querramos ubicarlo.

    4.2 Con el nuevo TextBox seleccionado hacemos doble clic en la Ventana de

    Propiedades, propiedad (Name), tipeamos la palabra UFNombre y luego enter (este es el

    nombre que le asignamos al objeto para luego referirnos a l desde las macros).

  • 4.3 Hacemos clic en una parte vaca del Userform, para volver a seleccionar todo el

    Userform.

    5. Agregamos un Texto

    Para ayudar al usuario a ingresar sus datos, debemos indicarle que es lo que debe

    introducir en el Cuadro de Texto del Paso anterior. Podemos agregar una etiqueta de

    texto que describa la informacin que se debe introducir.

    5.1 En el Cuadro de Herramientas hacemos clic en el botn Label o Etiqueta

    5.2 En el Userform hacemos clic a la izquierda del TextBox, para agregar la Etiqueta de

    texto.

    5.3 Si fuera necesario podemos cambiar el tamao de la etiqueta de texto o del Cuadro

    de Texto para que no se superpongan. Se puede hacer clic en sus bordes (pequeos

    cuadraditos) y arrastrar para cambiar su tamao.

    5.4. Seleccionamos la nueva etiqueta, hacemos doble clic en la propiedad Caption de la

    ventana de propiedades, tipeamos Nombre y luego Enter.

  • 5.5 Hacemos clic en alguna parte vaca del Userform para seleccionarlo y mostrar el

    cuadro de herramientas.

    6. Agregamos los Cuadros de Texto restantes

    Agregamos los cuadros de texto y las etiquetas restantes (ya lo hicimos para el nombre

    as que repetimos para Edad y Fecha de Nacimiento).

    Repetimos los pasos 4 y 5 y agregamos:

    * Un TextBox cuyo (Name) sea UFEdad, con una Etiqueta llamada "Edad"

    * Un TextBox cuyo (Name) sea UFFecha, con una Etiqueta llamada "Fecha Nac."

    Es muy importante que no olvides asignar bien los nombres (Name) a los Textbox, si

    no la macro dar error. Puedes revisar los pasos 4 y 5 para recordar como hacerlo.

    Si los textbox no quedan alineados se pueden alinear de la siguiente forma:

    1. Clic en el primer TextBox

    2. Mantieniendo pulsada la tecla MAYUS, selecciona los otros TextBox

    3. Vamos al men Formato > Alinear > Izquierda

    4. Hacemos clic en alguna parte vaca del Userform para seleccionarlo y mostrar el

    cuadro de herramientas.

  • 7. Agregamos los Botones

    Para permitir que el usuario ejecute una accin, se pueden agregar un Botn de

    comando. Nuestro Userform tendr un botn para Agregar los datos a la tabla Excel y

    otro botn para Cerrar el Userform.

    7.1 En el Cuadro de Herramientas hacemos clic en Botn de comando.

    7.2 En el Userform hacemos clic en la parte inferior izquierda para agregar el botn.

    7.3 Con el nuevo botn seleccionado hacemos doble clic en la propiedad (Nombre) de

    la Ventana de Propiedades, tipeamos UFAgregar y luego enter.

    7.4 Con el nuevo botn seleccionado hacemos doble clic en su propiedad Caption en la

    Ventana de Propiedades, tipeamos Agregar y luego enter.

    7.5 Hacemos clic en alguna parte vaca del Userform para seleccionarlo y mostrar el

    Cuadro de Herramientas.

    7.6 Repetimos los pasos anteriores para agregar otro Botn de comando llamado

    UFCerrar y nombre "Cerrar".

    7.8 Si fuese necesario podemos reubicar los botones dentro del Userform.

    Es muy importante que no olvides asignar bien los nombres (Name) a los Botones de

    comando, si no la macro dar error. Esto se explica en el paso 7.3 y luego debers

    repetirlo para el otro botn, tal cual se indica en el paso 7.6.

  • 8. Agregamos el cdigo al botn Agregar

    8.1 Seleccionamos nuestro botn de comando Agregar

    8.2 Desde el men superior elegimos la opcin Ver > Cdigo. Esto abrir una ventana

    donde podremos escribir cdigo macro para dicho objeto.

    8.3 Donde titila el cursor escribimos lo siguiente:

    Private Sub UFAgregar_Click()

    Dim iFila As Long

    Dim ws As Worksheet

    Set ws = Worksheets(1)

    'encuenta la siguiente fila vaca

    iFila = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row

    'Verifica que se ingrese un nombre

    If Trim(Me.UFNombre.Value) = "" Then

    Me.UFNombre.SetFocus

    MsgBox "Debe ingresar un nombre"

    Exit Sub

    End If

    'copy the data to the database

    ws.Cells(iFila, 1).Value = Me.UFNombre.Value

    ws.Cells(iFila, 2).Value = Me.UFEdad.Value

    ws.Cells(iFila, 3).Value = Me.UFFecha.Value

    'limpa el formulario

    Me.UFNombre.Value = ""

    Me.UFEdad.Value = ""

    Me.UFFecha.Value = ""

    Me.UFNombre.SetFocus

    End Sub

  • 8.4 En el men superior elegimos Ver > Objeto para regresar al Userform.

    No te preocupes si no comprendes el cdigo. Hay muchos objetos, propiedades y

    mtodos nuevos. Todos ellos se explican mejor en la 2 parte de este curso.

    9. Agregamos el cdigo al botn Cerrar

    9.1 Seleccionamos el botn de comando Cerrar

    9.2 En el men superior elegimos Ver > Cdigo

    9.3 Donde titila el cursor escribimos el siguiente cdigo:

    Private Sub UFCerrar_Click()

    Unload Me

    End Sub

    9.4 En el men superior elegimos Ver > Objeto para regresar al Userform.

    10. Permitir al usuario cerrar el Userform con la tecla ESC

    10.1 Seleccionamos el botn de comando Cerrar

    10.2 En la Ventana Propiedades cambiamos la propiedad Cancel a True.

    Probar el Userform

    Ya podemos probar el funcionamiento del Userform !

    1. Hacemos clic en alguna parte vaca del Userform para seleccionarlo y mostrar el

    cuadro de herramientas.

    2. En el men superior elegimos Ejecutar > Ejecutar Sub/Userform

    3. Ahora podemos comenzar a completar el primer cuadro del Userform y escribimos un

    nombre, por ej. Juan.

    4. Presionamos la tecla TAB para movernos al siguiente cuadro de texto.

    5. Cuando hemos completado todos los cuadros de texto, hacemos clic en el botn de

    Agregar y los datos se completarn en la Tabla de Excel.

    6. Podemos repetir los pasos anteriores e ir agregando distintos nombres con sus

    respectivos datos.

    7. Hacemos clic en Cerrar para volver al editor de macros.

    La tecla TAB sirve para moverse entre los distintos controles de un Userform. Si al

    presionar TAB el orden del movimiento no es el correcto, es posible camabiarlo:

  • 1. Clic derecho en una parte vaca del USerform

    2. Elegimos Orden de Tabulacin.

    3. Seleccionamos el control de la lista y con los botones de Mover Arriba o Mover

    Abajo ajustamos el orden.

    4. Hacemos clic en OK

    Asignar un botn para ejecutar el Userform

    Podemos agregar un botn para que un usuario pueda ejecutar el Userform desde la

    hoja Excel.

    1. Activamos Excel, libro Datos.xls, Hoja 1

    2. En la Barra de Dibujo, en el men Ver > Barras de Herramientas > Dibujo hacemos

    clic en una figura, por ejemplo el cuadrado, y lo insertamos en la hoja.

    3. Seleccionamos dicha figura y con clic derecho en su borde elegimos Asignar Macro

    4. Hacemos clic en el botn Nuevo

    5. Donde titila el cursor escribimos: DatosUF.Show

    6. Cada vez que hagamos clic en la figura se ejecutar el Userform.

    Seleccin de celdas

    Existen diversas formas de seleccionar celdas, y en todas ellas utilizamos el mtodo

    Select.

    Veamos 3 mtodos (equivalentes) para seleccionar una celda, por ejemplo la celda C4:

    ' La forma clsica de seleccionar

    Sub Seleccionar ()

    Range("C4").Select

    End Sub

    ' Esta es otra terminologa vlida para seleccionar

    Sub Seleccionar ()

    [C4].Select

    End Sub

  • ' Finalmente podemos seleccionar de esta otra forma

    ' El primer N equivale a fila y el segundo a columna.

    Sub Seleccionar ()

    Cells(4, 3).Select

    End Sub

    En los 3 casos anteriores se selecciona la celda C4. En el primer caso utilizamos el

    objeto Range y en el tercer caso el objeto Cells.

    Tambin podemos seleccionar determinadas celdas (con datos, con frmulas, etc). En la

    siguiente macro iremos seleccionando distintos tipos de celdas:

    Sub Seleccionando ()

    On Error Resume Next

    ' Colocamos On Error Resume Next

    ' para evitar el error re compilacin derivado de no poder selecionar un rango que no exi

    ste

    ' por ej., si la hoja activa no tuviera comentarios, no podramos selecionarla con el cdig

    o

    ' Para seleccionar todas la celdas que contienen comentarios.

    Cells.SpecialCells(xlCellTypeComments).Select

    'Para seleccionar todas la celdas cuyo valor es una constante.

    Cells.SpecialCells(xlCellTypeConstants, 23).Select

    ' Para seleccionar todas la celdas que contienen frmulas.

    Cells.SpecialCells(xlCellTypeFormulas, 23).Select

    ' Para seleccionar todas la celdas vacas, dentro de la regin usada.

    Cells.SpecialCells(xlCellTypeBlanks).Select

    ' Para seleccionar todas la celdas visibles en nuestra hoja.

    Cells.SpecialCells(xlCellTypeVisible).Select

    End Sub

  • Conviene deducir que si quisiramos seleccionar las celdas que contienen comentarios

    en un rango concreto y no en toda la hoja deberamos utilizar:

    Sub Seleccion ()

    On Error Resume Next

    ' Mtodo 1

    Range("A1:G10").SpecialCells(xlCellTypeComments).Select

    ' Mtodo 2

    [A1:G10].SpecialCells(xlCellTypeComments).Select

    ' Mtodo 3

    Range(cells(1,1),cells(10,7)).SpecialCells(xlCellTypeComments).Select

    End Sub

    Para seleccionar hasta la ltima celda no vaca:

    Sub Seleccion ()

    On Error Resume Next ' Es un buen hbito utilizar comodines como este

    ' aunque si lo mantenemos activo resultara difcil saber donde podra estar el problema

    ' Selecciona desde la celda actual hasta la ltima celda no vaca hacia la derecha.

    Selection.End(xlToRight).Select

    ' Selecciona desde la celda indicada hasta la ltima celda no vaca hacia abajo.

    Range("AF10").End(xlDown).Select

    ' Selecciona desde la celda actual hasta la ltima celda no vaca hacia la izquierda.

    Selection.End(xlToLeft).Select

    ' Selecciona desde la celda actual hasta la ltima celda no vaca hacia arriba.

    Selection.End(xlUp).Select

    End Sub

  • Otra forma interesante de seleccionar es con el mtodo Offset, que permite seleccionar

    un rango de acuerdo a unas coordenadas indicadas. Esta instruccin requiere que le

    indiquemos un origen y una cantidad de filas y columnas desde el origen (es muy til

    para seleccionar rangos variables).

    La sintaxis es: Origen.Offset.(filas, columnas).select.

    Las filas y nmeros se indican como nmeros. Si estos son positivos el desplazamiento

    es hacia abajo - derecha respectivamente. Si son negativos el desplazamiento es hacia

    arriba - izquierda respectivamente.

    Veamos los siguiente ejemplos para entender mejor la seleccin con Offset:

    Sub Selecciona ()

    On Error Resume Next

    ' Selecciona desde la celda actual hasta una celda (fila) hacia abajo.

    Selection.Offset(1, 0).Select

    ' La instruccin Selection hace que el origen sea la celda actual

    ' El 1 indica las filas a desplazarce hacia abajo

    ' El 0 indica las columnas a desplazarce a la derecha

    ' Hace lo mismo que la anterior. Poner 0 u omitirlo es lo mismo.

    Selection.Offset(1).Select

    ' Selecciona desde la celda actual, + una celda hacia abajo + una celda hacia la derecha.

    Selection.Offset(1, 1).Select

    'Selecciona una columna y/o celda hacia la derecha desde la celda [A1]

    [A1].Offset(0, 1).Select

    ' Selecciona desde la celda actual hasta la misma celda selecionada, sin cambio alguno.

    Selection.Offset().Select

    ' Desde B1 selecciona una celda hacia arriba y otra a la izquierda

    [B2].Offset(-1, -1).Select

    ' Recuerda que al poner un signo negativo el movimiento cambia de direccin

    ' Si el negativo el movimiento es hacia abajo/derecha. Con el negativo es hacia arriba/iz

    quierda

  • ' Si desde A1 intentamos seleccionar una celda hacia arriba y otra a la izquierda...

    [A1].Offset(-1, -1).Select

    ' Se producira un error, porque como A1 es la primera celda, no podemos seleccionar

    ' una celda ni a la izquierda ni arriba de A1. De todas formas el error se ignora ya que

    ' hemos escrito On Error Resume Next al comienzo de la macro.

    ' Selecciona desde la celda actual hasta una celda hacia la izquierda (si fuera posible)

    Selection.Offset(-1).Select

    'Selecciona desde la celda actual hasta una celda hacia la arriba (si fuera posible)

    Selection.Offset(, -1).Select

    ' Desde la celda actual, seleciona todo el cuadrante de celdas contiguas.

    Selection.CurrentRegion.Select

    ' Selecciona el cuadrante de celdas selecionadas en bloque una celda ms hacia la derec

    ha y abajo.

    Selection.CurrentRegion.Offset(1, 1).Select

    End Sub

    Todas las acciones anteriores se pueden concatenar de tal manera que podramos

    realizar lo siguiente:

    Sub Seleccion ()

    On Error Resume Next

    [F7].End(xlDown).Offset(4).End(xlToRight).End(xlDown).Select

    ' Si F7 estuviera vaco y la columna F tambin,

    ' tras ejecutar [F7].End(xlDown). nos encontraramos en la ltima fila (F65536)

    ' Pero no podramos ir a [F7].End(xlDown).Offset(4) pues excel tiene 65536 filas y no 6

    5536+X+4

    End Sub

    Con la macro anterior iriamos desde la celda F7 hasta la ltima celda no vaca hacia

    abajo. Luego nos desplazaramos 4 celdas desde esta nueva posicin hacia abajo.

  • Luego iramos hasta la ltima celda no vaca hacia la derecha desde esta nueva posicin.

    Finalmente de nuevo hacia abajo desde esta nueva posicin.

    Tambin es posible la seleccin de rangos utilizando variables en filas y columnas,

    utilizando el objeto Cells. Esta forma es muy til cuando queremos utilizar variables en

    la fila la columna.

    La sintaxis debe ser: cells(fila,columna)

    Sub Seleccion()

    ' Seleccin desde A1 hasta fila N y columna J (asumimos que N y J son variables)

    range(cells(1,1),cells(N,J)).select

    End Sub

    Estos 3 lneas de cdigo seleccionan el mismo rango de celdas:

    Sub Seleccionar ()

    Range("A1:E5").Select

    [A1:E5].Select

    Range(Cells(1, 1), Cells(5, 5)).Select

    End Sub

    LIC. Manuel Eduardo Gabino Quevedo.

    [email protected]