0% encontró este documento útil (0 votos)
104 vistas14 páginas

Guía Completa de VBA Excel y Objetos

Este documento describe los objetos principales del modelo de objetos de Excel que pueden ser manipulados con VBA, incluidos Application, Workbooks, Worksheets, Cells, Range, Rows y Columns. Explica cómo acceder y modificar las propiedades y métodos de estos objetos, así como los bucles y estructuras condicionales comunes en VBA.

Cargado por

A. Alonso
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
104 vistas14 páginas

Guía Completa de VBA Excel y Objetos

Este documento describe los objetos principales del modelo de objetos de Excel que pueden ser manipulados con VBA, incluidos Application, Workbooks, Worksheets, Cells, Range, Rows y Columns. Explica cómo acceder y modificar las propiedades y métodos de estos objetos, así como los bucles y estructuras condicionales comunes en VBA.

Cargado por

A. Alonso
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

VBA Excel

Application Object

Econ. Carlos Ricci


Noviembre 2022

Econ. Carlos Ricci | [email protected] VBA Excel


Excel Object Model

El "Excel Object Model" es la biblioteca de todos los objetos de Excel. Es


decir, en Microsoft Excel, todo es un objeto.
Application

AddIns Windows Workbooks

Charts Names VBProjects Windows Worksheets

Comment Hyperlink Name PageSetup PivotTables Range

Recordar la jerarquía de los objetos.

En lenguaje VBA:
Application.Workbooks("Book1.xlsx")
Application.Workbooks("Book1.xlsx").Worksheets("Sheet1")
Application.Workbooks("Book1.xlsx").Worksheets("Sheet1").Range("A1")

Econ. Carlos Ricci | [email protected] VBA Excel


Objetos ordenados según Jerarquía

Plenamente calificada:
Application.Workbooks("Book1.xlsx").Worksheets("Sheet1").Range("A1").Value=100

Forma abreviada:
Asume objetos activos como
Range("A1").Value=100
ActiveSheet y ActiveWorkbook

Plenamente calificada:
Application.Workbooks("Book1.xlsx").Worksheets("Sheet1").Cells.ClearContents

Forma abreviada:
Asume objetos activos como
Cells.ClearContents
ActiveSheet y ActiveWorkbook

Econ. Carlos Ricci | [email protected] VBA Excel


Objetos: Propiedades y Métodos

Una propiedad es un atributo de un objeto.


Un método es un procedimiento que se aplica a un objeto.

método
propiedad

Econ. Carlos Ricci | [email protected] VBA Excel


WorkBooks

Activar
Workbooks("Book1").Activate 'Se activa un libro específico (por nombre)
Workbooks(1).Activate 'Se activa el libro de posición 1 (índice)
Agregar
Workbooks.Add 'Se agrega un nuevo libro
Contar:
Workbooks.Count 'Cuenta el numero de libros abiertos
Abrir
Workbooks.Open("C:\example.xlsm")
Workbooks.Open Filename "C:\example.xlsm"
Cerrar
Workbooks("Book1").Close SaveChanges:=True
Guardar
Workbooks("Book1").Save
Workbooks("Book1").SaveAs NombreArchivo
Econ. Carlos Ricci | [email protected] VBA Excel
WorkBooks
Nombre
Workbook.Name 'Error. Debe especificar nombre o índice
ActiveWorkbook.Name 'Libro activo al momento de ejecutarse la macro
ThisWorkbook.Name 'Libro que contiene la macro

ActiveWorkbook.Path
ActiveWorkbook.FullName

ThisWorkbook.Path
ThisWorkbook.FullName

Econ. Carlos Ricci | [email protected] VBA Excel


WorkSheets

Activar
Sheets("Hoja1").Activate 'Se activa una hoja específica (por nombre)
Sheets(1).Activate 'Se activa una hoja de posición 1 (índice)
Agregar
Sheets.Add 'Se agrega una nueva hoja
Contar:
Sheets.Count 'Cuenta el numero de hojas abiertas
Seleccionar
Sheets("Hoja1").Select 'Se selecciona una hoja específica (nombre)
Sheets(1).Select 'Se selecciona una hoja de posición 1 (índice)
Copiar
Sheets("Hoja1").Copy Before:=Sheets("Hoja2")
¿Sheets o
Eliminar
Sheets("Hoja1").Delete
WorkSheets?

Econ. Carlos Ricci | [email protected] VBA Excel


WorkSheets
Nombre
Sheets.Name 'Error. Debe especificar nombre o índice
ActiveSheet.Name 'Nombre de hoja activa
Sheets.Add.Name = "NuevaSheet" 'Libro que contiene la macro
Ocultar
Sheets("Sheet1").Visible = False 'Para cambiar la propiedad, digite True
Sheets("Sheet1").Visible = xlSheetHidden 'xlSheetVisible
Sheets("Sheet1").Visible = xlSheetVeryHidden
Proteger
Sheets("Sheet1").Protect
Sheets("Sheet1").Protect "Password"
Desproteger
Sheets("Sheet1").Unprotect
Sheets("Sheet1").Unprotect "Password"

Econ. Carlos Ricci | [email protected] VBA Excel


Range y Cells
Activar Celda Eliminar
Range("B3").Activate Range("A1:B3").Delete
Cells(3,2).Activate Range("A1:B3").Delete shift:=xlShiftToLeft
Seleccionar Rango Limpiar
Range("a1:a3").Select Range("A1:A3").Clear
Range(Range("a1"), Range("a3")).Select Range("A1:A3").ClearContents
Range(Cells(1, 1), Cells(3, 1)).Select Range("A1:A3").ClearFormat
Cambiar tamaño Contar
Range("B3").Resize(2, 2).Select Range("A1:A3").Count
Desplazamiento Unir/Dividir
Range("B3").Offset(2, 2).Select Range("A1:A3").Merge
Range("A1:A3").UnMerge
Copiar
Range("A1:B3").Copy Range("D1") Valor
Range("A1:A3").Value = 5
Cortar
Cells(1,1).Value = 100
Range("A1:B3").Cut Range("D1")

Econ. Carlos Ricci | [email protected] VBA Excel


Range y Cells
Algunas combinanciones útiles

Range("B3").CurrentRegion.Select

UltFila = [A:A].Range("A65536").End(xlUp).Row

UltFila = Columns("A:A").Range("A1048576").End(xlUp).Row

UltFila = Range(Range("A65536").End(xlDirection.xlUp).Address).Row

UltFila = Cells.SpecialCells(xlLastCell).Row

UltColumn = Cells.SpecialCells(xlLastCell).Column

Econ. Carlos Ricci | [email protected] VBA Excel


Rows y Columns
Activar Fila Activar Columna
Rows(1).Activate Columns(1).Activate
Rows("1:1").Activate Columns("A:A").Activate
Range("a1").EntireRow.Activate Range("a1").EntireColumn.Activate
Alto de fila Ancho de columna
Range("a1").EntireRow.RowHeight = 30 Range("a1").EntireColumn.ColumnWidth = 30
Eliminar fila Eliminar columna
Range("A1").EntireRow.Delete Range("A1").EntireColumn.Delete
Contar filas Contar columnas
Range("A1").Rows.Count Range("A1").Columns.Count
Insertar fila Insertar columna
Range("A1").EntireRow.Insert Range("A1").EntireColumn.Insert

Range("1:1").Copy Range("A:A").Copy
Range("5:5").Insert Range("E:E").Insert

Econ. Carlos Ricci | [email protected] VBA Excel


BUCLES

FOR-NEXT:
For Contador = Inicio To Fin [Step Incremento]
[instrucciones]
[Exit For]
[instrucciones]
Next [Contador]
DO WHILE:
Do [{ While | Until } condicion ] Do
[instrucciones] [instrucciones]
[Exit Do] [Exit Do]
[instrucciones] [instrucciones]
Loop Loop [{ While | Until } condicion ]
FOR EACH:
For Each elemento In grupo
[instrucciones]
[Exit For]
[instrucciones]
Next [ element ]
Econ. Carlos Ricci | [email protected] VBA Excel
CONDICIONALES

IF-THEN:
If condition Then
[instrucciones]
[ ElseIf condicion_alter Then
[instrucciones]]
[ Else
[instrucciones]]
End If

Econ. Carlos Ricci | [email protected] VBA Excel


VBA Excel
Application Object

Econ. Carlos Ricci


Noviembre 2022

Econ. Carlos Ricci | [email protected] VBA Excel

También podría gustarte