Está en la página 1de 50

Modelando Objetos

Modelo de objetos de Excel en


VBA
Aplicación Libro
Rango
Introducción
Hoja Celda(s)
Columna(s)
Fila(s)

Todo objeto VBA tiene


propiedades, es decir, un
objeto puede presentar
características idénticas
a otros; y estos podrán
ser modificados por el
usuario.
Asignar el color azul a la ficha de la hoja 1
y verde a la hoja 2

Application.thisworkbook.sheets(1).tab.color=vbblue
Application.thisworkbook.sheets(2).tab.color=vbgreen
Renombra las hojas 1 y 2

Application.ThisWorkbook.Sheets(1).Name = "caso 1"


Application.ThisWorkbook.Sheets(2).Name = "caso 2"
Selecciona la celda A2

Range("a2").Select
Sheets(1).Cells(2, 1).Select
Selecciona el rango desde la celda A1 hasta
la celda A1000

Range("A1:A1000").Select
Inserta una nueva hoja al libro

Worksheets.Add
Objeto Application
Representa la propia aplicación Excel y
funciona como contenedor de otros objetos
Activecell
Representa la ceda activa dentro de una hoja de Excel

Public Sub actvacelda()


Dim celda As String
celda = Application.ActiveCell.Address
MsgBox "la ubicacion de la celda es:" & celda, vbMsgBox
End Sub
ActiveSheet
Representa la hoja activa dentro de un libro, activa la celda XX de la
hoja activa

Application.ActiveSheet.Range(“A5”).Select
ActiveWindow
Representa la ventana activa dentro del entorno Excel, muestra el
nombre del libro activo

MsgBox Application.ActiveWindow.Caption
ActiveWorkbook
Representa al libro activo del entorno Excel, muestra el nombre
completo del libro activo

MsgBox Application.ActiveWorkbook.Name
Caption
Representa el contenido de la barra de título de la ventana principal de
Excel. Muestra el título de la ventana activa.

MsgBox Application.Caption
Selection
Representa una o más celdas seleccionadas a partir de una hoja activa.
Muestra el rango de un conjunto de celdas seleccionadas.

MsgBox Application.Selection.Address
ThisWorkbook
Representa el libro activo en la cual nos encontramos. Muestra el
nombre del libro actual.

MsgBox Application.ThisWorkBook.Name
Quit
Permite salir del Excel.

Application.Quit
OBJETO
WORKBOOK
Representa a un libro de Excel.
NAME

Representa el nombre del libro actual.

MsgBox ThisWorkbook.Name
PATH

Representa la ubicación del archivo a partir de las


unidades de almacenamiento.Muestra la ruta donde se
guardó

MsgBox ThisWorkbook.Path
OPEN

Permite abrir un archivo de Excel.

WorkBooks.open
“D:\Users\Patrice\Desktop\consolidar5.xlsx”
ADD

Permite crear un nuevo libro de Excel.

WorkBooks.add
ACTIVATE

Permite activar un determinado libro siempre y cuando se


encuentre abierto.

WorkBooks(“D:\Users\Patrice\Desktop\Ejercicios Excel.xlsx”).activate
Workbooks(2).activate
CLOSE

Permite cerrar un determinado libro o el actual.

MsgBox WorkSheet.Count
Save
Permite guardar los cambios en un determinado libro.
ThisWorkbook.Save
ActiveWorkbook.save
Workbook(“Save – xxxx.xlsm”).Save
workBooks(1).Save

Save As
Permite crear un nuevo archivo a partir del actual.
ActiveWorkbook.SaveAs “c:\xxxx.xlsx”
ThisWorkbook.SaveAs “c:\xxxx.xlsx”
WorkBooks(1).SaveAs “c:\xxxxx.xlsx
Objeto WorkSheet
Representa a una hoja de cálculo.
Count

Representa el número total de hojas por libro.

MsgBox Worksheets.Count
Name

Representa el nombre de la hoja actual.

MsgBox Worksheets(1).Name
Name
Representa el nombre de la hoja actual.

MsgBox Worksheets(1).Name
Ó
MsgBox ActivateSheet.Name
Ó
MsgBox Hoja1.Name
Activate
Permite activar una hoja de un conjunto de hojas en un
determinado libro.

WorkSheets(2).Activate
Ó
WorkSheets(“Hoja2”).Activate
Add

Permite agregar un determinado número de hojas a


un libro .

WorkSheets.Add(After:=WorkSheets(workSheets.count)).Name=Nueva
Hoja”
Delete

Permite eliminar una determinada hoja a un libro .

WorkSheets(2).Delete
Objeto Range
Puede representar una celda específica, un conjunto
de celdas así como toda una columna o toda una fila.
Cells
Permite hacer referencia a un conjunto de celdas en una determinada
hoja. Selecciona las celdas desde la A1 hasta la A10.

Range(cells(1,1),Cells(10,1)).Select
Formula
Permite implementar una fórmula de Excel desde VBA. Ingresar datos
en el rango A1:A10

Range(“A11”).Formula = “=sum(A1:A10)”
Value
Tiene un trabajo de asignación y recuperación de valor sobre una
celda, es decir, podemos enviar un valor o especificar una formula
tal como se realiza con la propiedad Formula; también podemos
obtener un valor desde las celdas de la hoja de Excel hacia VBA .
Vamos a limpiar el contenido de las celdas A1 y A2

Range(“A1”).Value=“”
Range(“A2”).Value=“”
Ó
ActiveCell.Value = “=sum(A1:A10)”
Activate

Método que permite convertir una celda seleccionada en una celda


activa mediante el objeto Range.

Range(“A1”).Activate  activa la celda A1

Range(“A1”).Activate  muestra la fecha actual


Range(“A1”).Formulalocal = “=hoy()”
ClearContents
Método que permite limpiar el contenido de un determinado rango de
celdas especificadas en el objeto Range.

Range(“A1:A100”).ClearContents - limpia las celdas desde A1:A100


Delete
Método que elimina un determinado número de celdas.

Range(“A1:A10”).Delete  Elimina las celdas desde A1:A10

Range(“B1”).Activate
Selection.EntireRow.Delete  Elimina una fila completa

Range(“C3”).Activate
Selection.EntireColumn.Delete  Elimina una columna completa
Objeto Cells
Cuenta con las mismas funcionalidades del objeto Range, la
diferencia es la especificación de las celdas, en vez de usar
RANGE, se hace con el numero de fila y columna.
Seleccionar todas las celdas de una hoja

Sub sleccionarTodo()
Cells.Select
End Sub
Seleccionar la celda XX

Sub SeleccionarceldaXX()
Cells(2,4).Select
End Sub
Limpia el contenido de la celda XX

Sub SeleccionarRango()
Cells(2,4).ClearContents
End Sub
Modifica el tipo de letra y tamaño
de la celda XX

Sub ModificaFuente()
Cells.Font.Name = “Arial”
Cells.Font.Size =10
End Sub
Asigna un valor a la celda XX

Sub ModificaFuente()
Cells(2,4).Value=200
End Sub
Asigna un valor a la celda XX

Sub ModificaFuente()
Cells(2,4).Value=200
End Sub
Ejercicio # 1: conversión de medidas

1 metro = 100 centímetros


1 pie = 12 pulgadas
1 yarda = 3 pies
1 pulgada = 2.54 centímetros
Código
Sub MuestraConversion()
Metros = Range(“C4”).Value

Centimetros = metros * 100


Pulgadas = centímetros / 2.54
Pies = pulgadas / 12
Yardas = pies /3

Range(“C6”).Value = centímetros
Range(“C7”).Value = format(pulgadas, “0.00”)
Range(“C8”).Value = format(pies, “0.00”)
Range(“C9”).Value = format(yardas, “0.00”)
End Sub
Ejercicio # 2: repartiendo el capital
Código
Sub MuestraReparticion()
msocio1 = Range(“C4”).Value
msocio2 = Range(“C5”).Value
msocio3 = Range(“C6”).Value

capital = msocio1 + msocio2 + msocio3

psocio1 = (msocio1 * 100) / capital


psocio2 = (msocio2 * 100) / capital
psocio3 = (msocio3 * 100) / capital

Range(“C8”).Value = Capital
Range(“C9”).Value = Format(psocio1, “0.00”)
Range(“C10”).Value = Format(psocio2, “0.00”)
Range(“C11”).Value = Format(psocio3, “0.00”)
End Sub

También podría gustarte