Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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
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
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:
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.
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.
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.
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
https://www.excel-avanzado.com/682/objeto-application.html
Objeto WorkBook
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
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
'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
https://docs.microsoft.com/es-es/office/vba/api/excel.workbook
Objeto WorkSheet.
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
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
Al hacer doble clic en la celda A1, los archivos especificados en ella se abren en Bloc de
Notas.
VB Copiar
'If you did not double-click on A1, then exit the function.
19
'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
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
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
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
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
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
https://docs.microsoft.com/es-es/office/vba/api/excel.range%28object%29