lunes, 22 de julio de 2013

CONTROLES ACTIVEX COMBOS Y FILTROS PERSONALIZADOS CON VBA EN EXCEL

En esta clase aprenderemos como llenar combos con filtros

EL EJEMPLO TRATARA DE LLENAR COMBOS ACTIVEX Y LUEGO PINTAR LAS FILAS SEGUN LAS CONDICIONES SELECCIONADAS



EJEMPLS VBA

101 VBA samples for Office 2010

Microsoft Office 2010 gives you the tools needed to create powerful applications. These Visual Basic for Applications (VBA) code samples can assist you in creating your own applications that perform specific functions or as a starting point to create more complex solutions.
Each code sample consists of approximately 5 to 50 lines of code demonstrating a distinct feature or feature set in VBA. Each sample includes comments describing the sample, and setup code so that you can run the code with expected results or the comments will explain how to set up the environment so that the sample code runs.

Arrow pointing down icon Office 2010 101 Code Samples.zip
Download all samples in a single zip file, or click each title below to download the VBA code for that specific snippet.

Excel 2010

CONTROLES VBA

Controles ActiveX

Los controles ActiveX pueden usarse en formularios de hoja de cálculo, con o sin el uso de código VBA, y en formularios del usuario de VBA. En general, use controles ActiveX cuando necesite requisitos de diseño más flexibles que los proporcionados por los controles de formulario. Los controles ActiveX tienen amplias propiedades que puede usar para personalizar su apariencia, comportamiento, fuentes y demás características.
También puede controlar los diversos eventos que se producen cuando se interactúa con un control ActiveX. Por ejemplo, puede realizar diferentes acciones, según qué opción seleccione el usuario en un control de cuadro de lista, o puede consultar una base de datos para rellenar un cuadro combinado con elementos cuando el usuario hace clic en un botón. También puede escribir macros que respondan a eventos asociados con controles ActiveX. Cuando un usuario del formulario interactúa con el control, el código de VBA se ejecuta para procesar cualquier evento que se produzca para dicho control.
El equipo también contiene muchos controles ActiveX instalados por Excel y otros programas, como el Control de calendario 12.0 y el Reproductor de Windows Media.
 Importante   No se pueden usar todos los controles ActiveX directamente en hojas de cálculo. Algunos solamente pueden usarse en formularios del usuario de Visual Basic para Aplicaciones (VBA). Si intenta agregar alguno de estos controles ActiveX en particular a una hoja de cálculo, Excel muestra el mensaje "No se puede insertar el objeto".
No obstante, los controles ActiveX no se pueden agregar a hojas de gráfico desde la interfaz de usuario ni a hojas de macros XLM. Tampoco se puede asignar una macro para ejecutarla directamente desde un control ActiveX del mismo modo en que puede hacerlo desde un control de formulario.
Resumen de controles ActiveX
Nombre del botón Ejemplo Descripción
Imagen del botón Casilla de verificación Ejemplo de un control de casilla de verificación ActiveX Activa o desactiva un valor que representa una selección inequívoca entre opuestos. Puede seleccionar más de una casilla de verificación a la vez en una hoja de cálculo o en un cuadro de grupo. Una casilla de verificación puede tener uno de tres estados: activada, desactivada y mixta, lo que significa una combinación de los estados activada y desactivada (como en una selección múltiple).
Imagen del botón Cuadro de texto Ejemplo de un control de cuadro de texto ActiveX Permite al usuario ver, escribir o editar texto o datos enlazados a una celda, en un cuadro rectangular. Un cuadro de texto también puede ser un campo de texto estático que presenta información de solo lectura.
Imagen del botón Botón de comando Ejemplo de un control de botón de comando ActiveX Ejecuta una macro que realiza una acción cuando un usuario hace clic en él.
Imagen del botón Botón de opción Ejemplo de un control de botón de opción ActiveX Permite una única elección dentro de un conjunto limitado de opciones que se excluyen mutuamente; generalmente está contenido en un marco o cuadro de grupo. Un botón de opción puede tener uno de tres estados: activado, desactivado y mixto, lo que significa una combinación de los estados activado y desactivado (como en una selección múltiple). Los botones de opción también se conocen como botones de radio.
Imagen del botón Cuadro de lista Ejemplo de un control de cuadro de lista ActiveX Muestra una lista de uno o más elementos de texto de entre los cuales puede elegir el usuario. Use un cuadro de lista para mostrar grandes cantidades de opciones que varían en número o contenido. Existen tres tipos de cuadros de lista:
  • Un cuadro de lista de selección única permite solamente una elección. En este caso, un cuadro de lista se asemeja a un grupo de botones de opción, a excepción de que un cuadro de lista puede controlar un gran número de elementos de manera más eficiente.
  • Un cuadro de lista de selección múltiple permite una elección o elecciones contiguas (adyacentes).
  • Un cuadro de lista de selección extendida permite una elección, elecciones y no contiguas, o inconexas.
Imagen del botón Cuadro combinado Ejemplo de un control de cuadro combinado ActiveX Combina un cuadro de texto con un cuadro de lista para crear un cuadro de lista desplegable. Un cuadro combinado es más compacto que un cuadro de lista pero requiere que el usuario haga clic en la flecha abajo para mostrar una lista de elementos. Úselo para permitir que un usuario escriba una entrada o elija solamente un elemento de la lista. El control muestra el valor actual en el cuadro de texto, sin importar el modo en que dicho valor se haya proporcionado.
Imagen del botón Botón de alternancia Ejemplo de un control de botón de alternancia ActiveX Indica un estado, como Sí/No, o un modo, como Activado/Desactivado. El botón alterna entre un estado habilitado o deshabilitado cuando se hace clic en él.
Imagen del botón Control de número Ejemplo de un control de control de número ActiveX Aumenta o disminuye un valor, como un incremento numérico, una hora o una fecha. Para incrementar el valor, es necesario hacer clic en la flecha arriba; para disminuirlo, se debe hacer clic en la flecha abajo. Generalmente, el usuario también puede escribir un valor de texto en un cuadro de texto o una celda asociados.
Imagen del botón Barra de desplazamiento Ejemplo de un control de barra de desplazamiento ActiveX Se desplaza por un intervalo de valores cuando el usuario hace clic en las flechas de desplazamiento o arrastra el cuadro de desplazamiento. Además, se puede mover por una página (en un intervalo preestablecido) de valores haciendo clic en el área entre el cuadro de desplazamiento y cualquiera de las flechas de desplazamiento. Generalmente, el usuario también puede escribir un valor de texto directamente en un cuadro de texto o una celda asociados.
Imagen del botón Etiqueta Ejemplo de un control de etiqueta ActiveX Identifica el propósito de una celda o un cuadro de texto, o muestra texto descriptivo (como títulos, leyendas, imágenes) o breves instrucciones.
Imagen del botón Imagen Ejemplo de control de imagen ActiveX Inserta una imagen, como mapa de bits, JPEG o GIF.

Control de marco Ejemplo de un control de cuadro de grupo ActiveX Un objeto rectangular con una etiqueta opcional que agrupa controles relacionados en una única unidad visual. Generalmente, se agrupan en un control de marco los botones de opción, las casillas de verificación o contenido estrechamente relacionado.
 Nota   El control de marco ActiveX no está disponible en la sección Controles ActiveX del comando Insertar. No obstante, puede agregarlo desde el cuadro de diálogo Más controles seleccionando Microsoft Forms 2.0 Frame.
Imagen del botón Más controles   Muestra una lista de controles ActiveX adicionales disponibles en el equipo que puede agregar a un formulario personalizado, como el Control de calendario 12.0 y el Reproductor de Windows Media. También puede registrar un control personalizado en este cuadro de diálogo

FORMULARIOS CON VBA

En esta ocasión haremos un ejemplo básico de cómo utilizar un formulario VBA para desarrollar una mini-aplicación en Excel que realice la conversión de temperaturas entre grados Celsius y grados Fahrenheit. Este ejemplo será de gran ayuda para aquellos que comienzan en la programación VBA.

Creación del formulario

Es probable que hayas iniciado a programar en VBA pero aún no hayas utilizado los formularios, así que será conveniente dar una breve definición antes de comenzar. Un formulario VBA es un cuadro de diálogo donde agregamos diversos tipos de controles como botones de comando, cajas de texto, casillas de verificación, y otros controles más que serán de utilidad para obtener información de un usuario ya sea para procesarla y devolver algún resultado o simplemente almacenarla.
Los formularios nos permiten crear aplicaciones en Excel para extender el uso y funcionalidad de la herramienta y aunque su uso está fuertemente relacionado con los usuarios avanzados de Excel, pronto verás que no es tan complicado utilizarlos. Para iniciar nuestro ejemplo agregaremos un nuevo formulario de la siguiente manera. En la ficha Programador pulsa el botón Visual Basic y se mostrará el Editor de VBA. Haz clic derecho sobre VBA Project  y selecciona la opción Insertar > UserForm:
Cómo insertar un formulario
De inmediato el panel principal mostrará el formulario recién creado así como un pequeño cuadro de diálogo con el título Cuadro de herramientas el cual contiene los controles que podemos agregar al formulario.
Ejemplo de formulario VBA en Excel
El Cuadro de herramientas tiene un botón para cada tipo de control como etiqueta, cuadro de texto, cuadro combinado, cuadro de lista, casilla de verificación, botón de opción, etc. Para agregar un control al formulario es necesario hacer clic en el botón correspondiente dentro del Cuadro de herramientas y posteriormente hacer clic dentro del formulario. Otra manera de agregar un control al formulario es pulsar el botón del control y arrastrarlo sobre el formulario.

Agregar controles de formulario

Para nuestro ejemplo necesitamos agregar una etiqueta, un cuadro de texto, un cuadro de lista y un botón de comando de manera que nuestro formulario quede de la siguiente manera:
Ejemplo de formulario con controles
Para cambiar el texto de la etiqueta y del botón de comando debemos modificar la propiedad llamada Caption y eso lo haremos desde la ventana Propiedades. Si esta ventana no se muestra actualmente en el Editor de Visual Basic puedes seleccionarla desde el menú Ver o también puedes hacer clic derecho sobre alguno de los controles y seleccionar la opción Propiedades lo cual mostrará la ventana:
Ventana Propiedades de un control de formulario
Encuentra la propiedad Caption y al lado derecho ingresa el valor de dicha propiedad para el control seleccionado. En la imagen anterior estamos viendo las propiedades de la etiqueta llamada Label1 y por lo tanto he colocado el texto Temperatura. Para hacer el cambio de esta propiedad para el botón de comando solo debes seleccionarlo de la lista desplegable que se encuentra en la parte superior de la misma ventana Propiedades. Al terminar el cambio de la propiedad Caption tendremos el formulario de la siguiente manera:
Formulario VBA con controles en Excel 2010
En la imagen anterior puedes notar que también he cambiado en el título del formulario y lo puedes hacer modificando también la propiedad  Caption del formulario mismo.

Cargar formulario desde una hoja de Excel

Para cargar un formulario desde una hoja de Excel será suficiente con agregar un botón de comando ActiveX desde la ficha Programador:
Botón de comando ActiveX
Al hacer doble clic sobre el botón se mostrará el código asociado al evento Click del botón y debemos colocar una sola instrucción:
Código VBA para cargar formulario
Con esto será suficiente para que al momento de pulsar el botón de la hoja de Excel se muestre el formulario VBA recién creado y podamos realizar la conversión de temperaturas. Aunque este es un ejemplo muy sencillo espero que sea útil para darte cuenta del gran potencial que existe en el uso de formularios en Excel.

miércoles, 17 de julio de 2013

Temario

Temario del curso Excel 2010 VBA – 40 horas
El objetivo del curso es dar a los usuarios con experiencia Excel competencia en la creación de procedimientos que se ejecutan en respuesta a eventos específicos, en colaboración con las estructuras de control, el desarrollo de formularios de usuario de aceptar o mostrar datos, la validación de la entrada de datos en formularios de usuario, y la depuración y el manejo de errores en el código.
TEMARIO
ENTORNO
  • Editor de Visual Basic
    • Entrar y salir del editor de Vba
    • Ventana de Proyectos
    • Ventana de Propiedades
    • Módulos
    • Objetos de Excel
  • Conceptos básicos
    • Procedimientos
    • Funciones
MODELO DE OBJETO EN EXCEL
  • Objetos
    • Definición de objeto
    • Modelo de objetos de Excel
    • Sintaxis de referencia a objetos
    • Propiedades de los objetos
    • Métodos de los objetos
  • Colecciones
    • Definición de colección
    • Referencia a elementos por posición
    • Referencia a elementos por nombre
    • Sintaxis de referencia de Excel
  • Operaciones con Propiedades
    • Obtener el valor de una propiedad
    • Establecer el valor de una propiedad
  • Argumentos de los métodos
    • Los métodos utilizan argumentos
    • Pasar argumentos a un método por posición
    • Pasar argumentos a un método por nombre
VARIABLES
  • Variables más utilizadas
    • Concepto de Variable
    • Variable Texto
    • Variable Fecha
    • Variable Boolean
    • Variable Byte
    • Variable Entero
    • Variable Largo
    • Variable Simple
    • Variable Doble
    • Variable Variant
  • Declaración de Variables
    • Dimensionar variables
    • Utilizar variables
  • Variables Objeto
    • Variable Objeto
    • Establecer variables objeto
    • Uso de variables Objeto
  • Vida de las variables
    • Variables a nivel de procedimiento
    • Variables a nivel de módulo
    • Variables a nivel de aplicación
    • Variables estáticas
MATRICES
  • Variables Matriz
    • Definición de Matriz
    • Declaración de Matrices
    • Establecer valores a matrices
    • Redimensionar matrices
ESTRUCTURAS DE CONTROL
  • Control de un procedimiento
    • Controlar el flujo de un procedimiento
    • Estructura de condiciones (If … then..)
    • Estructura de Casos (Select Case …)
    • Estructura de bucle (For …)
    • Estructuras de bucle (Do …Until. Do … While)
    • Estructura de bucle ( For Each … In …)
MANIPULACIÓN DE ERRORES
  • Errores
    • Estructura de manejo de errores
DEPURACIÓN DE PROGRAMAS
  • Uso del editor para depurar programas
    • Puntos de interrupción
    • Compilar módulos
    • Recorrer procedimientos paso a paso
FORMULARIOS
  • Adición de Formularios
    • Insertar un formulario
    • Llamadas a formularios
    • Interfaz de formulario
    • Código del formulario
  • Controles en Formularios
    • Cuadro de herramientas
    • Convenciones en el nombre de los controles
    • Control etiqueta
    • Control cuadro de texto
    • Control cuadro combinado
    • Control lista
    • Controles de opción (Botón opción, Checkbox)
    • Control página
EVENTOS
  • Control de Eventos
    • Eventos de Hoja
    • Al cambiar
    • Al activar
    • Eventos de Libro
    • Al abrir
    • Al cerrar
MANIPULACION DE DATOS ACCESS
  • Acceso a una base de datos Access
  • Movernos por los registros
  • Añadir, eliminar, modificar, buscar y filtrar registros.




clase1


CURSO DE EXCEL AVANZADO CON MACROS VBA
TEMARIO
QUE ES UN VBA
EL ENTORNO DE PROGRAMACION
ACTIVAR LA PESTAÑA DEVELOPER
BOTON DE COMANDO, PROPIEDADES
EL ENTORNO DE PROGRAMACION
MSGBOX
OPCIONES DE MSGBOX, (OK/CANCEL, YES/NO/CANCEL)
PALABRAS RESERVADAS DEL LENGUAJE VISUAL BASIC
PALABRAS VB PARA EXCEL
WORKBOOKS/WORKSHEETS/SHEETS/CELLS
SUB/ FUNCTION
BUCLE FOR/NEXT
EJEMPLO RECORRER FILAS
CONDICIONAL IF/THEN/ELSE


BIBLIOGRAFIA