Está en la página 1de 27

1

OBJETOS DE EXCEL

Los objetos en Excel (VBA) son cosas. Una celda es un objeto, una hoja es un objeto, un
libro es un objeto y de esta manera existen muchos más objetos en Excel. A esto lo
conocemos como el modelo de objetos de Excel.

Las propiedades Cada uno de los objetos de Excel tiene propiedades y métodos. son las
características del objeto y los métodos son las acciones que el objeto puede hacer.

PROPIEDADES DE UN OBJETO

Si una persona fuera un objeto de Excel sus propiedades serían el color de sus ojos, el color
de su cabello, su estatura, su peso. De la misma manera, un objeto de Excel tiene propiedades
por ejemplos, una celda (Range) tiene las propiedades valor (Value) y dirección (Address)
entre muchas otras. Estas propiedades describen mejor al objeto.

MÉTODOS DE UN OBJETO

Siguiendo con el ejemplo de una persona, si fuera un objeto de Excel sus métodos serían
correr, caminar, hablar, dormir. Los métodos son las actividades o acciones que el objeto
puede realizar. Los objetos de Excel se comportan de la misma manera que el ejemplo de una
persona. Una celda (Range) tiene los métodos activar (Activate), calcular (Calculate), borrar
(Clear) entre muchos más.
2

UTILIZANDO LAS PROPIEDADES Y LOS MÉTODOS

Para acceder a las propiedades y métodos de un objeto lo hacemos a través de una


nomenclatura especial. Justo después del nombre del objeto colocamos un punto seguido del
nombre de la propiedad o del método. Observa este ejemplo donde hacemos uso de la
propiedad Value para la celda A1:

Range("A1"). Value = "Hola"

De esta manera asignamos una cadena de texto al valor de la celda A1. Ahora bien, si
queremos borrar ese valor que acabamos de colocar en la celda podemos utilizar el método
Clear de la siguiente manera:

Range("A1"). Clear

VER TODAS LAS PROPIEDADES Y MÉTODOS

Los objetos tienen muchas propiedades y métodos y a veces es difícil pensar que los
llegaremos a memorizar todos por completo. Sin embargo, el Editor de Visual Basic es de
gran ayuda porque justamente al momento de escribir nuestro código nos proporciona la lista
completa de propiedades y métodos para un objeto.

Esto sucede al momento de introducir el punto después del nombre del objeto. Puedes
distinguir entre las propiedades y métodos porque tienen iconos diferentes. En la imagen de
arriba los métodos son los que tienen el icono de color verde.
3

Recuerda, los objetos son cosas en Excel y sus características las llamamos propiedades las
cuales nos ayudan a definir al objeto. Los métodos son las acciones que cada objeto puede
realizar.

Objeto aplicación:

El objeto Application representa la propia aplicación de Microsoft Excel activa. El uso de


este objeto proporciona toda la información referida a la aplicación que está en uso. Es el
objeto por defecto y, por lo tanto, es generalmente opcional.
El objeto Application contiene:
Valores y opciones de toda la aplicación. Por ejemplo, muchas de las opciones del cuadro de
diálogo Opciones, del comando Herramientas.
Métodos que devuelven objetos de nivel superior, como ActiveRange, ActiveWorkBook,
ActiveCell, ActiveChart, ActiveSheet, etc.
Sintaxis:
Calificador[.Valor u opción] [.Método]
Donde Calificador es Application.
Las principales opciones de Excel pueden ser definidas a partir de propiedades del objeto
Application la mayoría de estas propiedades son de lectura.

PROPIEDADES:
Las propiedades del objeto application se divide en cuatro grupos:
• Propiedades que controlan el estado
• Propiedades que controlan la presentación
• Propiedades que devuelven objetos
• Propiedades que controlan la manipulación de los archivos
Las propiedades que controlan el estado definen el ambiente donde se ejecuta el Excel.
La siguiente lista muestra algunas de las propiedades del objeto application.

Propiedad Tipo Descripción


4

XlMousePointer (xlDef
ault, xlIBeam, Obtiene o establece el
xlNorthwestArrow, aspecto del puntero del
Cursor xlWait) mouse (ratón).

Obtiene o establece la
capacidad de modificar
celdas directamente
en el lugar
correspondiente. Si es
False, las celdas sólo se
pueden modificar en la
EditDirectlyInCell Boolean barra de fórmulas.

Si es True, todos los


valores numéricos
utilizan la propiedad
FixedDecimalPlaces
para determinar el
número de decimales;
en caso contrario, la
propiedad
FixedDecimalPlaces
se omite (el valor
predeterminado es
FixedDecimal Boolean False).

Determina el número de
decimales que se
utilizan para los datos
FixedDecimalPlaces Long numéricos si la
5

propiedad
FixedDecimal es True.

Obtiene o establece la
capacidad del usuario
de interactuar con
Excel a través del
teclado o el mouse. Si
establece esta
propiedad en
False, asegúrese de
cambiarla de nuevo a
True en el controlador
Interactive Boolean de excepciones.

Si es True, la selección
se mueve a la siguiente
celda al
presionar ENTRAR; el
valor predeterminado es
MoveAfterReturn Boolean True.

Indica la dirección de
movimiento después de
presionar ENTRAR, si
la propiedad
MoveAfterReturn es
xlDirection (xlDown, True. El valor
MoveAfterReturnDirec xlToLeft, xlToRight, predeterminado es
tion xlUp) xlDown.
6

Si es True, Excel
actualiza su pantalla
después de cada
llamada a un método.
Puede desactivar la
presentación mientras
se ejecuta el
código. Asegúrese de
establecer de nuevo esta
ScreenUpdating Boolean propiedad en True.

Obtiene o establece el
número de hojas que
Excel
SheetsInNewWorkboo incluye automáticame
k Long nte en los nuevos libros.

Obtiene o establece el
nombre de la fuente
predeterminada; no
surte efecto hasta que
StandardFont String se reinicia Excel.

Obtiene o establece el
tamaño de la fuente
predeterminada de
Excel; no surte efecto
hasta que se reinicia
StandardFontSize Long Excel.
7

Devuelve la ruta de
acceso completa de la
carpeta que contiene
StartupPath (sólo los complementos de
lectura) String inicio de Excel.

Devuelve la ruta de
acceso completa de la
TemplatesPath (sólo carpeta que contiene
lectura) String las plantillas.

La siguiente lista muestra las propiedades que controlan la presentación

Propiedad Tipo Descripción

Si es True (el valor


predeterminado), Excel muestra
mensajes de advertencia mientras
se ejecuta el código, cuando sea
necesario. Establezca esta
propiedad en False para omitir las
advertencias y seleccionar el
DisplayAlerts Boolean valor predeterminado.

Si es True (el valor


predeterminado), Excel muestra la
barra de fórmulas estándar para la
modificación de celdas;
establézcala en False para
DisplayFormulaBar Boolean ocultar la barra.

Si es True, Excel se ejecuta en el


DisplayFullScreen Boolean modo de pantalla completa (con
8

un efecto diferente al que se


obtiene maximizando la ventana de
Excel); el valor predeterminado es
False.

Ejemplo 1:
Sub Costos()
Application.Workbooks("libro1").Worksheets("hoja1").Range("a1").Value = "Costos
directos"
End Sub
Resultado:

Ejemplo 2:
Sub ejemplo2()
Application.Workbooks.Close
End Sub
9

Información consultada en:

https://www.excel-avanzado.com/682/objeto-application.html

Objeto WorkBook

El objeto Workbook es un miembro de la colección Workbooks. La colección Workbooks


contiene todos los objetos Workbook abiertos actualmente en Microsoft Excel.

La propiedad ThisWorkbook del objeto Application devuelve el libro en el que se ejecuta


el código de Visual Basic. En la mayoría de los casos, esto es lo mismo que el libro activo.
Sin embargo, si el código de Visual Basic es parte de un complemento, la propiedad
ThisWorkbook no devolverá el libro activo. En este caso, el libro activo es el libro que llama
el complemento, mientras que la propiedad ThisWorkbook devuelve el libro del
complemento.

Si va a crear un complemento a partir del código de Visual Basic, debe usar la propiedad
ThisWorkbook para calificar cualquier instrucción que deba ejecutarse en el libro que se
compila en el complemento.

Ejemplo

Use Workbooks (Índice), donde Índice es el nombre del libro o el número de índice, para
devolver un solo objeto Workbook . En el siguiente ejemplo se activa el libro uno.

VBCopiar

Workbooks(1).Activate

El número de índice indica el orden en que se abrieron o crearon los libros. Workbooks(1) es
el primer libro creado y Workbooks(Workbooks.Count) es el último. Activar un libro no
10

cambia su número de índice. Todos los libros se incluyen en el recuento de índice, aunque
estén ocultos.

La propiedad Name devuelve el nombre del libro. No puede establecer el nombre mediante
el uso de esta propiedad; si necesita cambiar el nombre, use el método SaveAs para guardar
el libro con otro nombre.

El ejemplo siguiente activa Hoja1 en el libro denominado Cogs.xls (que ya debe estar abierto
en Microsoft Excel).

VBCopiar

Workbooks("Cogs.xls").Worksheets("Sheet1").Activate

La propiedad ActiveWorkbook del objeto Application devuelve el libro que está activo en
ese momento. El ejemplo siguiente establece el nombre del autor en el libro activo.

VBCopiar

ActiveWorkbook.Author = "Jean Selva"

En este ejemplo se envía por correo electrónico una pestaña de hoja de cálculo del libro activo
usando una dirección de correo electrónico y un asunto especificados. Para ejecutar este
código, la hoja de cálculo activa debe contener la dirección de correo electrónico en la celda
A1, el asunto en la celda B1 y el nombre de la hoja de cálculo para enviar en la celda C1.

VBCopiar

Sub SendTab()
'Declare and initialize your variables, and turn off screen updating.
Dim wks As Worksheet
Application.ScreenUpdating = False
11

Set wks = ActiveSheet

'Copy the target worksheet, specified in cell C1, to the clipboard.


Worksheets(Range("C1").Value).Copy

'Send the content in the clipboard to the email account specified in cell A1,
'using the subject line specified in cell B1.
ActiveWorkbook.SendMail wks.Range("A1").Value, wks.Range("B1").Value

'Do not save changes, and turn screen updating back on.
ActiveWorkbook.Close savechanges:=False
Application.ScreenUpdating = True
End Sub

Eventos

 Activate
 AddinInstall
 AddinUninstall
 AfterRemoteChange
 AfterSave
 AfterXmlExport
 AfterXmlImport
 BeforeClose
 BeforePrint
 BeforeRemoteChange
 BeforeSave
 BeforeXmlExport
 BeforeXmlImport
 Deactivate
 ModelChange
 NewChart
12

 NewSheet
 Open
 PivotTableCloseConnection
 PivotTableOpenConnection
 RowsetComplete
 SheetActivate
 SheetBeforeDelete
 SheetBeforeDoubleClick
 SheetBeforeRightClick
 SheetCalculate
 SheetChange
 SheetDeactivate
 SheetFollowHyperlink
 SheetLensGalleryRenderComplete
 SheetPivotTableAfterValueChange
 SheetPivotTableBeforeAllocateChanges
 SheetPivotTableBeforeCommitChanges
 SheetPivotTableBeforeDiscardChanges
 SheetPivotTableChangeSync
 SheetPivotTableUpdate
 SheetSelectionChange
 SheetTableUpdate
 Sincronizar
 WindowActivate
 WindowDeactivate
 WindowResize

Propiedades

 AccuracyVersion
 ActiveChart
 ActiveSheet
13

 ActiveSlicer
 Application
 AutoSaveOn
 AutoUpdateFrequency
 AutoUpdateSaveChanges
 BuiltinDocumentProperties
 CalculationVersion
 CaseSensitive
 ChangeHistoryDuration
 ChartDataPointTrack
 Charts
 CheckCompatibility
 CodeName
 Colors
 CommandBars
 ConflictResolution
 Connections
 ConnectionsDisabled
 Container
 ContentTypeProperties
 CreateBackup
 Creator
 CustomDocumentProperties
 CustomViews
 CustomXMLParts
 Date1904
 DefaultPivotTableStyle
 DefaultSlicerStyle
 DefaultTableStyle
 DefaultTimelineStyle
 DisplayDrawingObjects
14

 DisplayInkComments
 DocumentInspectors
 DocumentLibraryVersions
 DoNotPromptForConvert
 EnableAutoRecover
 EncryptionProvider
 EnvelopeVisible
 Excel4IntlMacroSheets
 Excel4MacroSheets
 Excel8CompatibilityMode
 FileFormat
 Final
 ForceFullCalculation
 FullName
 FullNameURLEncoded
 HasPassword
 HasVBProject
 HighlightChangesOnScreen
 IconSets
 InactiveListBorderVisible
 IsAddin
 IsInplace
 KeepChangeHistory
 ListChangesOnNewSheet
 Mailer
 Model
 MultiUserEditing
 Name
 Names
 Parent
 Password
15

 PasswordEncryptionAlgorithm
 PasswordEncryptionFileProperties
 PasswordEncryptionKeyLength
 PasswordEncryptionProvider
 Path
 Permiso
 PersonalViewListSettings
 PersonalViewPrintSettings
 PivotTables
 PrecisionAsDisplayed
 ProtectStructure
 ProtectWindows
 PublishObjects
 Queries
 ReadOnly
 ReadOnlyRecommended
 RemovePersonalInformation
 Research
 RevisionNumber
 Saved
 SaveLinkValues
 ServerPolicy
 ServerViewableItems
 SharedWorkspace
 Sheets
 ShowConflictHistory
 ShowPivotChartActiveFields
 ShowPivotTableFieldList
 Firmas
 SlicerCaches
 SmartDocument
16

 Styles
 Sincronizar
 TableStyles
 TemplateRemoveExtData
 Theme
 UpdateLinks
 UpdateRemoteReferences
 UserStatus
 UseWholeCellCriteria
 UseWildcards
 VBASigned
 VBProject
 WebOptions
 Windows
 Worksheets
 WritePassword
 WriteReserved
 WriteReservedBy
 XmlMaps
 XmlNamespaces

INFORMACION OBTENIDA DE:

https://docs.microsoft.com/es-es/office/vba/api/excel.workbook

Objeto WorkSheet.

Representa una hoja de cálculo.


Observaciones
17

El objeto Worksheet es un miembro de la colección Worksheets . La colección Worksheets


contiene todos los objetos Worksheet de un libro.

El objeto Worksheet también es un miembro de la colección Sheets . La colección Sheets


contiene todas las hojas del libro (hojas de gráficos y hojas de cálculo).
Ejemplo

Use Worksheets (Índice), donde index es el nombre o número de índice de la hoja de cálculo,
para obtener un solo objeto Worksheet . En el ejemplo siguiente, se oculta la primera hoja
de cálculo en el libro activo.
VB Copiar

Worksheets(1).Visible = False

El número de índice de la hoja de cálculo indica la posición de la hoja de cálculo en la barra


de pestañas del libro. Worksheets(1) es la primera hoja de cálculo (izquierda) en el libro, y
Worksheets(Worksheets.Count) es la última. Todas las hojas de cálculo se incluyen en el
recuento de índices, incluso si están ocultas.

El nombre de la hoja de cálculo se muestra en la pestaña de la hoja de cálculo. Usar la


propiedad Name para establecer o devolver el nombre de la hoja de cálculo. El ejemplo
siguiente protege los escenarios de Sheet1.
VB Copiar

Dim strPassword As String


strPassword = InputBox ("Enter the password for the worksheet")
Worksheets("Sheet1").Protect password:=strPassword, scenarios:=True
18

Cuando una hoja de cálculo es la hoja activa, puede usar la propiedad ActiveSheet para hacer
referencia a ella. El siguiente ejemplo usa el método Activate para activar Sheet1, establece
la orientación de la página en modo horizontal y, a continuación, imprime la hoja de cálculo.
VB Copiar

Worksheets("Sheet1").Activate
ActiveSheet.PageSetup.Orientation = xlLandscape
ActiveSheet.PrintOut

En este ejemplo se utiliza el evento BeforeDoubleClick para abrir un conjunto de archivos


especificado en el Bloc de notas. Para usar este ejemplo, la hoja de cálculo debe contener los
datos siguientes:
 La celda A1 debe contener los nombres de los archivos que se deben abrir separados
por una coma y un espacio.
 La celda D1 debe contener la ruta de acceso a la ubicación de los archivos del Bloc de
Notas.
 La celda D2 debe contener la ruta de acceso a la ubicación del programa Bloc de Notas.
 La celda D3 debe contener la extensión de archivo, sin el punto final, de los archivos
de Bloc de Notas (txt).

Al hacer doble clic en la celda A1, los archivos especificados en ella se abren en Bloc de
Notas.
VB Copiar

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)


'Define your variables.
Dim sFile As String, sPath As String, sTxt As String, sExe As String, sSfx As String

'If you did not double-click on A1, then exit the function.
19

If Target.Address <> "$A$1" Then Exit Sub

'If you did double-click on A1, then override the default double-click behavior with this
function.
Cancel = True

'Set the path to the files, the path to Notepad, the file extension of the files, and the names
of the files,
'based on the information on the worksheet.
sPath = Range("D1").Value
sExe = Range("D2").Value
sSfx = Range("D3").Value
sFile = Range("A1").Value

'Remove the spaces between the file names.


sFile = WorksheetFunction.Substitute(sFile, " ", "")

'Go through each file in the list (separated by commas) and


'create the path, call the executable, and move on to the next comma.
Do While InStr(sFile, ",")
sTxt = sPath & "\" & Left(sFile, InStr(sFile, ",") - 1) & "." & sSfx
If Dir(sTxt) <> "" Then Shell sExe & " " & sTxt, vbNormalFocus
sFile = Right(sFile, Len(sFile) - InStr(sFile, ","))
Loop

'Finish off the last file name in the list


sTxt = sPath & "\" & sFile & "." & sSfx
If Dir(sTxt) <> "" Then Shell sExe & " " & sTxt, vbNormalNoFocus
End Sub
20

Propiedades

 Application
 AutoFilter
 AutoFilterMode
 Cells
 CircularReference
 CodeName
 Columns
 Comments
 CommentsThreaded
 ConsolidationFunction
 ConsolidationOptions
 ConsolidationSources
 Creator
 CustomProperties
 DisplayPageBreaks
 DisplayRightToLeft
 EnableAutoFilter
 EnableCalculation
 EnableFormatConditionsCalculation
 EnableOutlining
 EnablePivotTable
 EnableSelection
 FilterMode
 HPageBreaks
 Hyperlinks
 Index
 ListObjects
 MailEnvelope
 Name
 Names
21

 Next
 Outline
 PageSetup
 Parent
 Previous
 PrintedCommentPages
 ProtectContents
 ProtectDrawingObjects
 Protection
 ProtectionMode
 ProtectScenarios
 QueryTables
 Range
 Rows
 ScrollArea
 Shapes
 Sort
 StandardHeight
 StandardWidth
 Tab
 TransitionExpEval
 TransitionFormEntry
 Type
 UsedRange
 Visible
 VPageBreaks
22

Objeto Range

Representa una celda, una fila, una columna, una selección de celdas que contienen uno o
más bloques de celdas contiguos o un rango 3D.
Comentarios

En la sección de ejemplos se describen los métodos y las propiedades siguientes para


devolver un objeto Range:
 Propiedades Range y Cells del objeto Worksheet
 Propiedades Range y Cells del objeto Range
 Propiedad Offset del objeto Range
 Método Union del objeto Application

Ejemplo

Use Range (arg), donde arg denomina el rango, para devolver un objeto Range que
represente una sola celda o un rango de celdas. En el ejemplo siguiente se coloca el valor de
la celda A1 en la celda A5.
VB Copiar

Worksheets("Sheet1").Range("A5").Value = _
Worksheets("Sheet1").Range("A1").Value

En el ejemplo siguiente se rellena el rango a1: H8 con números aleatorios estableciendo la


fórmula de cada celda del rango. Si se utiliza sin calificador de objeto (un objeto a la izquierda
del punto), la propiedad Range devuelve un rango de la hoja activa. Si la hoja activa no es
una hoja de cálculo, el método produce un error.

Use el método Activate del objeto Worksheet para activar una hoja de cálculo antes de usar
la propiedad Range sin un calificador de objeto explícito.
23

VB Copiar

Worksheets("Sheet1").Activate
Range("A1:H8").Formula = "=Rand()" 'Range is on the active sheet

En el ejemplo siguiente se borra el contenido del rango denominado Criteria.

Use expression.Cells (fila, columna), donde expression es una expresión que devuelve un
objeto Range y fila y columna son relativas a la esquina superior izquierda del rango, para
devolver parte de un rango. En el ejemplo siguiente se establece la fórmula para la celda C5.
VB Copiar

Worksheets(1).Range("C5:C10").Cells(1, 1).Formula = "=Rand()"

Use Range (cell1, cell2), donde cell1 y cell2 son objetos Range que especifican las celdas
de inicio y fin, para devolver un objeto Range. En el ejemplo siguiente se establece el estilo
de línea de borde para las celdas A1:J10.

Propiedades

 AddIndent
 Dirección
 AddressLocal
 AllowEdit
 Application
 Areas
 Borders
24

 Cells
 Characters
 Columna
 Columns
 ColumnWidth
 Comment
 CommentThreaded
 Count
 CountLarge
 Creator
 CurrentArray
 CurrentRegion
 Dependents
 DirectDependents
 DirectPrecedents
 DisplayFormat
 End
 EntireColumn
 EntireRow
 Errores
 Font
 FormatConditions
 Formula
 FormulaArray
 FormulaHidden
 FormulaLocal
 FormulaR1C1
 FormulaR1C1Local
 HasArray
 HasFormula
 HasRichDataType
25

 Height
 Hidden
 HorizontalAlignment
 Hyperlinks
 Id.
 IndentLevel
 Interior
 Elemento
 Left
 LinkedDataTypeState
 ListHeaderRows
 ListObject
 LocationInTable
 Locked
 MDX
 MergeArea
 MergeCells
 Name
 Next
 NumberFormat
 NumberFormatLocal
 Offset
 Orientación
 OutlineLevel
 PageBreak
 Parent
 Phonetic
 Phonetics
 PivotCell
 PivotField
 PivotItem
26

 PivotTable
 Precedents
 PrefixCharacter
 Previous
 QueryTable
 Rango
 ReadingOrder
 Resize
 Fila
 RowHeight
 Rows
 ServerActions
 ShowDetail
 ShrinkToFit
 SoundNote
 SparklineGroups
 Estilo
 Resumen
 Text
 Top
 UseStandardHeight
 UseStandardWidth
 Validación
 Valor
 Value2
 VerticalAlignment
 Width
 Worksheet
 WrapText
27

INFORMACION OBTENIDA DE:

https://docs.microsoft.com/es-es/office/vba/api/excel.range%28object%29

También podría gustarte