Ir al contenido principal

Seminario Macros Excel Gratuito 7ª Entrega (Colecciones de Objetos)

Aunque ya lo hemos usado decimos que una colección es la forma que tenemos de agrupar objetos dentro de VBA.


Es decir, objetos del mismo tipo forman colecciones como por ejemplo las hojas de un libro y estas colecciones suelen ser dinámicas ya que nos permiten añadir o quitar elementos de la misma.

Cuando nos referimos a un objeto podemos referenciarlo por si mismo o como miembro de una colección pudiendo usar un nº de índice.

Excel tiene un buen número de colecciones, como:

  • Workbooks
  • Worksheets
  • Comments
  • Borders
  • ......
Por lo tanto aproximadamente la mitad de los objetos Excel son individuales y la otra mitad son colecciones.

Pero existen 3 objetos Excel que se salen de esta norma y son:
  • Range
  • Sheets
  • Shapes
El objeto Range es un objeto individual aunque sus características hagan referencia a un objeto individual o a una colección.

Sheets y Shapes son colecciones que contienen otras colecciones o lo que es lo mismo contenedores de colecciones. Sheets puede contener objetos Worksheet y Objetos Chart. Shapes contiene todos los objetos gráficos de Excel.

Existen diferentes formas para referirnos a un objeto desde una colección:

  • Coleccion!Objeto
  • Coleccion![Objeto]
  • Coleccion(“Objeto”)
  • Coleccion(var)
  • Coleccion(index)

Donde Var es una variable de tipo cadena (String) que contiene el nombre del objeto
index es un nº que determina la posición del objeto dentro de una colección.

ejemplo: 
Para referirnos a la Hoja1 de un libro considerando que sea la primera podemos poner:
Workheets(1)
Worksheets("Hoja1")

La siguiente entrega la puede ver en nuestro blog Blog CDEI Knotica

Comentarios

Entradas populares de este blog

Chrome: desactivar la opción “Abrir siempre archivos de este tipo”

En Chrome, al descargar un archivo aparecen tres opciones en el desplegable de la barra de descargas:

Combinar Correspondencia con varias cuentas en Outlook

A veces necesitamos realizar un mailing (Combinar correspondencia) y disponemos de varias cuentas de correo en nuestro Outlook. Comprobamos que no funciona el elegir una de ellas como predeterminada ya que para el envío por correspondencia usa un servicio llamado MAPI que no usa la cuenta predeterminada.  Antiguamente en versiones como la 2010 de office simplemente con cambiar el fichero de datos predeterminado de la cuenta bastaba para ello. Actualmente (nosotros usamos 365, equivalente a la 2016) la solución pasa por crear un perfil de correo en el que configuremos la cuenta que usaremos para combinar correspondencia. Adjuntamos un video en el que se explica en Windows 10 como crear un perfil de correo de una cuenta. Una vez creado ese perfil de Correo pasaríamos a realizar la combinación de Correspondencia y en el último paso cuando  realizamos la combinación de correspondencia nos solicitará el perfil a usar para poder enviar los correos y en ese caso elegiríamos el perfil...

Uso del Dolar ($) en Excel

Es uno de los grandes desconocidos de los usuarios de Excel incluso algunos que llevan usando esta herramienta durante un largo periodo de Tiempo. La idea de su uso es evitar que al copiar un fórmula la referencia a una determinad celda cambie. Veamos un ejemplo: Tenemos 6 columnas y en la D una fórmula que multiplica el precio por la cantidad de un producto, si copiamos dicha fórmula se va adaptando a los diferentes productos y hasta aquí todo ok. Pero que pasa si queremos hacer la fórmula del IVA, es decir el 21% del importe bruto. Lo que suele hacer la mayoría de los usuarios que no conocen el uso del $ es hacer la siguiente fórmula en E2: =D2*21% Esto incumple la primera norma de creación de fórmulas que dice: En una fórmula nunca se deben incluir valores constantes salvo que se sepa que nunca van a poder cambiar y el iva es algo que puede y de echo ha variado a lo largo del tiempo. Por lo tanto si queremos hacer una hoja más versátil deberemos colocar el porcentaje de iva en una c...