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
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
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
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
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:
|
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:
|
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
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...