¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
  1. Libros
  2. VBA Excel (versiones 2021 y Microsoft 365)
  3. Objetos de Excel
Extrait - VBA Excel (versiones 2021 y Microsoft 365) Programar en Excel: Macros y lenguaje VBA
Extractos del libro
VBA Excel (versiones 2021 y Microsoft 365) Programar en Excel: Macros y lenguaje VBA Volver a la página de compra del libro

Objetos de Excel

El objeto Application

El objeto Application representa la aplicación de Microsoft Excel activa. Es el objeto por defecto y, por lo tanto, normalmente es opcional (ejemplo: Version equivale a Application.Version).

Este objeto contiene los elementos siguientes:

  • Las propiedades relativas al entorno de Excel (por ejemplo, las opciones de Excel) y a la presentación de la interfaz (puntero del ratón, texto de la barra de estado, tamaño y estado de la ventana de la aplicación, etc.).

  • Hay distintos métodos para realizar acciones en el entorno de Excel.

  • Propiedades que devuelven objetos y colecciones de primer nivel (objetos y colecciones del modelo de objetos de Excel, como Workbooks o Charts).

  • Propiedades específicas que hacen referencia directa a objetos (como ActiveCell, ActiveSheet o ActiveWindow).

Las propiedades que hacen referencia a objetos se explican en el capítulo La programación de objetos en Excel.

1. Propiedades que representan las opciones de Excel

Las principales opciones de Excel se pueden definir o devolver a partir de propiedades del objeto Application. La mayoría de estas propiedades son de lectura y escritura.

Para acceder a las opciones de Excel, haga clic en la pestaña Archivo y luego en Opciones.

a. Opciones de la categoría General

images/04RITEXCV01.png

N.°

Propiedades

Valores devueltos

1

ShowSelectionFloaties

Booleano

2

ShowQuickAnalysis

Booleano

3

ShowConvertToDataType

Booleano

4

EnableLivePreview

Booleano

5

StandardFont

Entero largo

6

StandardFontSize

Entero largo

7

SheetsInNewWorkbook

Entero largo

8

UserName

Cadena de caracteres

b. Opciones de la categoría Fórmulas

images/04RITEXCV02.png

Opciones relacionadas con el modo de recálculo

N.°

Propiedades

Valores devueltos

1

Calculation

Constantes:

xlCalculationAutomatic

xlCalculationManual

xlCalculationSemiautomatic

2

CalculateBeforeSave

Booleano

3

Iteration

Booleano

4

MaxIterations

Entero largo

5

MaxChange

Doble

Opciones relativas a las fórmulas

N.°

Propiedades

Valores devueltos

6

ReferenceStyle

Constantes:

xlA1

xlR1C1

7

DisplayFormulaAutoComplete

Booleano

8

GenerateTableRefs

Constantes:

xlGenerateTableRefStruct

xlGenerateTableRefA1

9

GenerateGetPivotData

Booleano

Opciones de comprobación de errores

Las siguientes propiedades dependen de la propiedad ErrorCheckingOptions del objeto Application. Esta propiedad devuelve un objeto ErrorCheckingOptions, que representa las opciones de comprobación...

Objeto Workbook

Este objeto representa un libro de Microsoft Excel. El objeto Workbook es un miembro de la colección Workbooks.

Las siguientes propiedades del objeto Application devuelven un objeto Workbook: 

  • Workbooks

  • ActiveWorkbook

  • ThisWorkbook

images/WORKBOOK.png

1. Objetos y colecciones

Objetos

Theme

Objeto que representa el tema aplicado al libro.

VBProject

Objeto que representa el proyecto de Visual Basic asociado a un libro.

WebOptions

Opciones relativas a la grabación y apertura de una página web.

Colecciones

BuiltinDocumentProperties

Colección de las propiedades (autor, título, objeto, palabras clave, etc.) del libro.

Charts

Colección de los gráficos de un libro.

CommandBars

Colección de las barras de comandos de Excel.

Connections

Colección de las conexiones a orígenes de datos para el libro.

CustomDocumentProperties

Colección de las propiedades de un libro (título, autor, comentarios, etc.).

CustomViews

Colección de las vistas personalizadas de un libro.

Names

Colección de los rangos con nombre de un libro.

PivotTables

Colección de tablas dinámicas contenidas en un libro.

PublishObjects

Colección de los elementos de un libro grabado como página web y que se pueden actualizar.

SlicerCaches

Colección de los objetos SlicerCaches asociados a un libro.

Styles

Colección de los estilos de un libro.

TableStyles

Colección de los distintos estilos aplicables a una tabla.

Windows

Colección de las ventanas de la aplicación de Excel.

Worksheets

Colección de las hojas de cálculo de un libro.

XmlMaps

Colección de los objetos XmlMap que se han agregado a un libro. Estos objetos se usan para administrar la relación entre los rangos de lista y los elementos de un esquema XML.

XmlNamespaces

Colección de los espacios de nombres XML contenidos en el libro especificado. 

2. Propiedades

a. Propiedades relativas a la actualización y registro de libros

CreateBackup

Booleano. Indica si se crea una copia de seguridad cuando se graba el archivo.

EnableAutoRecover

Booleano. Activa o desactiva la opción Autorrecuperación.

Saved

Booleano. Indica si el libro especificado no ha sido modificado después de la última grabación.

SaveLinkValues

Booleano. Indica si Microsoft Excel guarda los valores de los vínculos externos con el libro.

UpdateLinks...

El objeto Worksheet

Este objeto representa una hoja de cálculo Excel. El objeto Worksheet es un miembro de la colección WorkSheets del objeto Workbook.

Las siguientes propiedades del objeto Application devuelven un objeto Worksheet:

  • Worksheets

  • ActiveSheet

1. Lista de objetos y colecciones

images/WORKSHEET.png

2. Objetos y colecciones

Objetos

AutoFilter

Objeto que representa el autofiltro de la hoja de cálculo especificada.

OutLine

Objeto que representa el esquema de la hoja de cálculo especificada.

PageSetup

Objeto que representa las opciones de configuración de página de la hoja de cálculo especificada.

Protection

Objeto que representa las opciones de protección para la hoja de cálculo especificada. Estas opciones son accesibles en Excel a través del menú Herramientas - Protección - Proteger hoja.

Range

Objeto que representa una celda o un rango de celdas (una fila, una columna, etc.).

Tab

Objeto que representa la pestaña de la hoja de cálculo especificada.

Colecciones

ChartObjects

Colección de los gráficos incrustados en la hoja de cálculo especificada.

Comments

Colección de todos los comentarios de celda de la hoja de cálculo especificada. 

CustomProperties

Colección de objetos CustomProperty que representa la información complementaria (metadatos para XML o etiquetas inteligentes).

HPageBreaks

Colección de los saltos de página horizontales en la zona de impresión de la hoja especificada.

Hyperlinks

Colección de los hipervínculos de la hoja de cálculo especificada.

ListObjects

Colección de las listas de la hoja de cálculo especificada.

Names

Colección de los rangos de celdas con nombre de la hoja de cálculo especificada.

OLEObjects

Colección de los objetos ActiveX y objetos OLE vinculados o incrustados en la hoja de cálculo especificada.

PivotTables

Colección de los informes de tabla dinámica de la hoja de cálculo especificada. 

QueryTables

Colección de las tablas de hoja de cálculo creadas a partir de datos enviados desde un origen de datos externo.

Scenarios

Colección de los escenarios de la hoja de cálculo especificada.

Shapes

Colección de todas las formas (autoformas, formas libres, objetos OLE o imágenes) presentes en la hoja de cálculo especificada.

VPageBreaks...

El objeto Range

El objeto Range representa un rango de celdas y puede estar constituido por:

  • una celda,

  • una fila,

  • una columna,

  • un rango de celdas contiguas,

  • un rango de celdas no contiguas,

  • un rango 3D.

1. Propiedades y métodos que devuelven un objeto Range

Propiedades que devuelven un objeto Range

Propiedad

Objeto contenedor

Objeto devuelto

ActiveCell

Application Window

Objeto Range que representa la primera celda activa de la ventana activa o especificada.

Areas

Range

Colección que agrupa todos los rangos de una selección múltiple.

Cells

Application Range Worksheet

Objeto Range que representa una celda o una colección de celdas:

  • de la hoja activa si el objeto contenedor es Application, 

  • del rango especificado si el objeto contenedor es Range,

  • de la hoja de cálculo especificada si el objeto contenedor es Worksheet.

CircularReference

Worksheet

Objeto Range que representa el rango que contiene la primera referencia circular de la hoja.

Columns

Application Range Worksheet

Objeto Range que representa las columnas:

  • de la hoja activa si el objeto contenedor es Application, 

  • del rango especificado si el objeto contenedor es Range,

  • de la hoja especificada si el objeto contenedor es Worksheet.

CurrentRegion

Range

Objeto Range que representa el objeto Range especificado, limitado por toda combinación de filas y columnas vacías.

Dependents

Range

Objeto Range que representa el rango que contiene todas las celdas dependientes de una celda dada. Puede ser una selección múltiple (unión de objetos Range) si hubiera muchas celdas dependientes.

DirectDependents

Range

Objeto Range que representa el rango que contiene todas las celdas directamente dependientes de una celda dada.

DirectPrecedents

Range

Objeto Range que representa el rango que contiene todas las celdas directamente antecedentes de una celda dada.

EntireColumn

Range

Objeto Range que representa una o más columnas enteras del rango especificado.

EntireRow

Range

Objeto Range que representa una o más filas enteras del rango especificado.

End

Range

Objeto Range que representa la celda situada al final de la zona de rango especificado. Corresponde a la combinación de teclas [Fin][Flecha arriba], [Fin][Flecha abajo], [Fin][Flecha izquierda] o [Fin][Flecha derecha].

Next

Range

Objeto Range que representa la siguiente celda del rango especificado.

Offset

Range

Objeto Range especificado desplazado una o más filas...

Ejemplos de uso de los objetos

1. Cálculo del importe de una prima

images/CAP04IMG11R.PNG

El rango de celdas "D6:D14" debe recibir el nombre VF.

Cuando el usuario hace clic en el botón de comando Cálculo de primas, se ejecutará el procedimiento Calc_Prima. Este procedimiento selecciona el rango de celdas llamado VF (celdas "D6:D14") y llama a la función Prima para calcular la prima y asignarla a la celda de la derecha.

Sub Calc_Prima() 
   Dim dblVFProm As Double 
   Dim ocelda As Range 
 
   '   Selección del rango llamado VF 
   ThisWorkbook.Names("VF").RefersToRange.Select 
   '   Cálculo del promedio de la selección 
   dblVFProm = Evaluate("AVERAGE(VF)") 
   '   Recorre las celdas de la selección 
   '   La prima calculada se asigna a la celda de la derecha 
   For Each ocelda In Selection 
       Cells(ocelda.Row, ocelda.Column + 1) = _ 
       Prima(ocelda.Value, dblVFProm) 
   Next ocelda 
End Sub 

La función Prima calcula la prima en función del VF (volúmen de facturación) y del promedio de los otros...