SlideShare una empresa de Scribd logo
Objetos de Excel y Programación en Visual Basic · 1 de 3
__________________________________________________________________________________________________________________________
© 2001 Joaquín Caselles - Curso de Visual Excel (Ver. 2.6 · Mayo 2010) vexcel.jjcaselles.com - vexcel.coninteres.es
OBJETOS DE EXCEL EN VISUAL BASIC .
Jerarquía de Objetos: Application Workbooks(Workbook) Worksheets(Worksheet) Range
Ejemplo: Application.Workbooks("NombreLibro.xls").Worksheets("NombreHoja").Range("C2").Propiedad
Application.Workbooks(ÍndiceLibro).Worksheets(ÍndiceHoja).Range("NombreRango").Método
♣ Application El propio Excel.
Propiedades [Tipo, Lectura/Escritura] Sintaxis: Application.Propiedad = Valor
.Caption [String, L/E] Título de la Ventana Principal de Excel.
.Path [String, L] Devuelve la Carpeta donde está instalado Excel.
.WindowState [L/E] xlNormal / xlMaximized / xlMinimized. Estado de la ventana.
.DisplayAlerts [Boolean, L/E] True / False. Muestra o no los mensajes de alerta.
.ScreenUpdating [Boolean, L/E] True / False. Actualiza o no la ventana a medida que se ejecuta la subrutina.
.DisplayStatusBar [Boolean, L/E] True / False. Muestra u oculta la barra de estado.
.DisplayFormulaBar [Boolean, L/E] True / False. Muestra u oculta la barra de fórmulas.
.StatusBar [String, L/E] Devuelve o establece el texto de la barra de estado. (False si Excel tiene el control).
Métodos Argumentos Sintaxis: Application.Método Arg1:=Valor, Arg2:="Cadena", ...
.Calculate Ninguno [] Recalcula todas las fórmulas, de todas las hojas, de todos los libros abiertos.
.Help HelpFile, HelpContextId [String, Integer] Muestra un tema de ayuda.
.Quit Ninguno [] Cierra Excel.
.Run Macro, arg1, arg2, ... [String, ...] Ejecuta un Procedimiento con sus argumentos si los lleva.
♣ Workbooks Libros de trabajo de Excel. (Los *.xls)
ThisWorkbook Libro que contiene la macro que se ejecuta.
ActiveWorkbook Libro activo. (Ejemplo: NombreLibro = ActiveWorkbook.Name )
Workbooks("Libro1.xls") Referencia a un libro por su nombre. Libro llamado "Libro1.xls". ¡Debe estar abierto!
Workbooks(1) Referencia a un libro por su Índice. Primer libro de la colección. Primer libro abierto.
Workbooks(Workbooks.Count) Último libro de la colección. Último libro abierto. (Workbooks.Count es la cantidad de libros).
Propiedades [Tipo, L/E] Sintaxis: Workbooks(Workbook).Propiedad = "Texto"
Workbooks.Count [Integer, L] Devuelve el Número de libros de la colección de libros abiertos. Propiedad de la Colección.
.Name [String, L] Devuelve el Nombre del Libro. (Para cambiarlo usar el método SaveAs).
.Path [String, L] Devuelve la Ruta de acceso al archivo del libro.
.Author [String, L/E] Nombre del Autor del libro.
.Saved [Boolean, L] True / False. Si es False se han hecho cambios en el libro, y no están salvados.
Métodos Argumentos Sintaxis: Workbooks(Workbook).Método Arg1:=Valor, Arg2:=" Texto", ...
de la Colección Workbooks
.Open FileName, ReadOnly [String, Bool] Abre un libro existente: FileName:="c:dirlibro.xls"
.Add Ninguno [] Crea un nuevo libro vacío y lo agrega a la colección.
de un libro determinado
.Activate Ninguno [] Activa el libro especificado.
.Close SaveChanges, FileName [Bool, String] Cierra el libro, y lo guarda con un nombre si True.
.Protect Password, Structure, Windows [String, Bool, Bool] Protege el libro, estructura y ventanas.
.Save Ninguno [] Guarda el libro, con el nombre actual.
.SaveAs FileName [String] Guarda el libro, con un nuevo nombre.
.SaveCopyAs FileName [String] Guarda una copia del libro, con un nuevo nombre.
♣ Worksheets Colección de Hojas de Trabajo. (Las hojas de un libro Excel)
ActiveSheet Hoja activa. (Ejemplo: NombreHoja = ActiveSheet.Name )
Worksheets("Hoja1") Hoja llamada "Hoja1".
Worksheets(1) Primera hoja de la colección. (Ej: NombreHoja = Worksheets(1).Name )
Worksheets(Worksheets.Count) Última hoja de la colección. (Worksheets.Count es la cantidad de hojas).
Propiedades [Tipo, L/E] Sintaxis: Worksheets(Worksheet).Propiedad = "Cadena"
Worksheets.Count [Integer, L] Propiedad de la Colección. Devuelve el número de hojas de la colección.
.Index [Integer, L] Devuelve el índice númerico de la hoja dentro de la colección de hojas.
.Name [String, L/E] Nombre de la Hoja.
.Next [Worksheet, L] Devuelve la siguiente hoja. (.Previous) la anterior.
.UsedRange [Range, L] Devuelve un objeto Range con el rango de la hoja que tiene datos.
Objetos de Excel y Programación en Visual Basic · 2 de 3
__________________________________________________________________________________________________________________________
© 2001 Joaquín Caselles - Curso de Visual Excel (Ver. 2.6 · Mayo 2010) vexcel.jjcaselles.com - vexcel.coninteres.es
Métodos Argumentos Sintaxis: Worksheets(Worksheet).Método Arg1:=Valor, Arg2:="Cadena", ..
.Activate Ninguno [] Activa la hoja expecificada.
.Calculate Ninguno [] Recalcula todas las fórmulas de la hoja especificada.
.Delete Ninguno [] Elimina la hoja especificada.
.Protect Password [String] Protege la hoja de cálculo.
.Paste Destination [Range] Pega el rango copiado previamente en otro rango.
♣ Range Rangos dentro de una hoja de Trabajo. Son Colecciones de celdas.
Range("B3") Se refiere al rango indicado (Colección de una sola celda).
Range("C2:D3") Se refiere al rango indicado (Colección de varias celdas).
Range("NombreDeRango") Se refiere al rango indicado por medio de un nombre.
ActiveCell Se refiere a la Celda Activa (¡Ojo! No el Rango activo). (Si hay activo un rango de
varias celdas, se refiere a la Celda Superior Izquierda).
Selection.Cells Colección de celdas seleccionadas.
Propiedades [Tipo, L/E] Sintaxis: Range().Propiedad
.Count [Integer, L] Devuelve el número de celdas contenidas en el rango especificado.
.Name [String, L/E] Nombre del rango.
.Value [Cualquiera, L/E] El valor que tiene un rango. (Si son varias celdas devuelve una matriz) / …de fórmulas)
.Formula [String, L/E] La fórmula contenida en el rango en forma de cadena de texto. (Lo que hay en la barra…
.Text [String, L] El valor formateado del rango en forma de cadena de texto. (Lo que muestra la celda)
.NumberFormat [String, L/E] Formato numérico (Ejemplo: "[Blue]#,##0.00 € ;[Red]-#,##0.00 € ;""Gratis""")
.Font [Object, L/E] Contiene los atributos de fuente (.Name, .size, .Color, .Bold, .Italic, .Underline, etc)
.Interior [Object, L/E] Se refiere al interior del Objeto (.Color, .Pattern, .PatternColor,etc)
.EntireRow [Range, L] Se refiere a la Fila o Filas Completas del rango.
.EntireColumn [Range, L] Se refiere a la Columna o Columnas Completas del rango.
.Offset(RowOffset, ColumnOffset) Se refiere a un rango desplazado tantas filas y columnas desde el rango especificado.
.Row y .Column [Long, L] Devuelve el número de la primera fila (o Columna) de la primera área del rango.
.Rows y .Columns[Range, L] Se refiere a la Colección de Filas (o Columnas) del rango especificado.
.Dependents [Range, L] Devuelve un objeto Range con las celdas dependientes de rango. (.Precedents)
Métodos Argumentos Sintaxis: Range().Métoto Arg1:=Valor, Arg2:="Cadena", ...
.Select Ninguno [] Selecciona el Rango (de una o más celdas).
.Activate Ninguno [] Activa una sola celda que si está en la selección actual no cambia la selección.
.Calculate Ninguno [] Recalcula todas las fórmulas del rango especificado.
.Copy Destination [Range] Copia el rango en otro rango. Si no se pone el destino, copia al portapapeles.
.PasteSpecial [Varios Opcionales] Pega el rango copiado. Se puede especificar lo pegado (Valores, Fórmulas, etc.).
.Delete Shift [xlShiftToLeft / xlShiftUp] Elimina el rango y desplaza según indicación.
.ClearContents Ninguno [] Borra los valores del rango, pero mantiene el formato, reglas, etc.
Programación de Código en Visual Basic for Applications (VBA)
Option Explicit ' Fuerza la Declaración explícita de Variables con Dim.
Option Base 1 ' Indica el índice base de los arrays. Por omisión 0.
Option Compare {Binary | Text | Database} ' Especifica el método de Comparación de Textos en el módulo.
Dim Variable1 As Tipo ' Declara una Variable Global del Módulo de tipo Tipo.
Public Variable1 As Tipo ' Declara una Variable Pública del Proyecto de tipo Tipo.
Type TipoPersonal ' Define un Tipo de Datos Personal en forma de Registro
Campo1 As Tipo ' con varios campos del tipo deseado.
Campo2 As Tipo
End Type ' <-- Después de una comilla simple todo es un Comentario aclaratorio y aparece en verde.
Sub NombreProcedimiento(ByVal Arg1 As Tipo, ByRef Arg2 As Tipo, Optional ByRef Arg3opc As Variant)
Const Constante1 As Tipo = Valor ' Declara una Constante y le asigna el valor Valor.
Dim Variable1 As Tipo ' Declara una Variable Local de tipo Tipo.
Dim Array1(5, 8) As Tipo ' Declara un Array de 5 x 8 datos del tipo Tipo. Hasta 60 dimensiones.
Dim Array1(3 to 7) As Tipo ' Declara un Array de 5 datos (del 3 al 7) del tipo Tipo.
Array1(3,7) = Valor ' Asigna Valor al elemento (3,7) del array Array1.
Variable1 = NombreFunción(Arg1, Arg2) ' Asigna a Variable1 lo que devuelve NombreFunción.
Set Var_Objeto = {[New] Objeto | Nothing} ' Asigna una Referencia de Objeto a una Variable o Propiedad
Call NombreProcedimiento2(Arg1, Arg2) ' Ejecuta el Procedimiento NombreProcedimiento2.
NombreProcedimiento2 Arg1, Arg2 ' Ejecuta el Procedimiento NombreProcedimiento2.
Instrucción : Otra Instrucción más larga _ ' El Espacio + Subrayado sirve para continuar en la línea siguiente.
que no cabe en la línea anterior ' Y los (:) para escribir varias instrucciones en la misma línea.
End Sub
Objetos de Excel y Programación en Visual Basic · 3 de 3
__________________________________________________________________________________________________________________________
© 2001 Joaquín Caselles - Curso de Visual Excel (Ver. 2.6 · Mayo 2010) vexcel.jjcaselles.com - vexcel.coninteres.es
Function NombreFunción(ByVal Arg1 As Tipo, ByRef Arg2 As Tipo, Optional ByRef Arg3opc As Variant) As Tipo
Instrucciones y Cálculos necesarios para obtener una Expresión_Resultado ....
NombreFunción = Expresión_Resultado ' La Función NombreFunción devolverá Expresión_Resultado.
End Function
Tipos de Datos
Nombre Tamaño Contenido Rango del Contenido
Boolean 2 bytes True / False
String 1 byte Cadena 1 byte / carácter + 10 bytes de cabecera. Hasta 2.000 millones de caracteres.
Byte 1 byte Bytes 0…..255
Integer 2 bytes Enteros -32.768…..32.767 Enteros
Long 4 bytes Enteros largos -2.147.483.648…..2.147.483.647
Single 4 bytes Reales Simple Precisión en coma flotante. 1,401298E-45…..3,402823E38 (7 dígitos)
Double 8 bytes Reales Doble Precisión en coma flotante. 4,94065645841247E-324…..1,79769313486232E308
Currency 8 bytes Moneda -922.337.203.685.477,5808.....922.337.203.685.477,5807 (922 Billones) (15 + 4)
Decimal 14 bytes Reales largos +/-79.228.162.514.264.337.593.543.950.335 (29 ó 1 + 28)
Date 8 bytes Fecha y Hora 1/1/100.....31/12/9999 ( -657.434.....2.958.465 )
Object 4 bytes Objeto Almacena cualquier referencia a un objeto de Excel.
Variant 16 bytes Variante El tipo por defecto si no se especifica otro. (Admite cualquiera de los anteriores).
Estructuras de Control de Flujo
Flujo Alternativo Condicional (If)
1 If Condición Then Instruc. Si Condición Cierta : Otra Instr.
If Condición Then
Instrucciones Si Condición es Cierta
2 Else 'Cláusula Opcional
Instrucciones Si Condición es Falsa
End If
If Condición Then
Instrucciones Si Condición es Cierta
Else
3 If Condición 2 Then
Instrucciones Si Condición2 es Cierta
End If
End If
If Condición 1 Then
Instrucciones Si Condición 1 es Cierta
ElseIf Condición 2 Then
4 Instrucciones Si Condición 1 es Falsa y
Condición 2 es Cierta
End If
Flujo Alternativo Evaluativo (Select Case)
Select Case Expresión
Case Valor1 : Instrucciones si Expresión = Valor1
Case Valor2, Valor3
Instrucciones si Expresión = Valor2 ó Expresión = Valor3
Case 1 To 4, 9: Instrucciones si Expresión = 1....4 ó 9
Case 5 To 8 : Instrucciones si Expresión = 5....8
Case Else : Instrucciones Si Ninguno Anterior 'Opcional
End Select
Bucle para Recorrer Colecciones (For Each)
For Each Elemento In Colección
Instrucciones
Next Elemento
Bucle de Repetición Conocida (For Next)
For Contador = 1 To 100 Step 2 'Step es Opcional
Instrucciones
Next Contador
Bucles de Repetición Desconocida (Do Loop)
While Condición
0 Instrucciones mientras Condición sea Cierta
Wend
Do While Condición
1 Instrucciones mientras Condición sea Cierta
Loop
Do Until Condición
2 Instrucciones hasta que Condición sea Cierta
Loop
Do
3 Instruc. se repiten mientras Condición Cierta
Loop While Condición
Do
4 Instruc. se repiten hasta que Condición Cierta
Loop Until Condición
Nota: La sintaxis nº 0 está en desuso a favor de las más
modernas 1 a 4 (do … loop). (La nº 0 es idéntica a la nº1)
Referencias Abreviadas
With Objeto
.Propiedad = Valor ' Idéntico a Objeto.Propiedad = Valor
With .SubObjeto
.Método = Valor ' Idéntico a Objeto.SubObjeto.Método = Valor
End With
End With
Nota: Una vez que se ha
entrado en un bloque With no
es posible cambiar el objeto.
Por tanto, no se puede utilizar
una única instrucción With
para varios objetos.
Una iteración para cada
elemento de la Colección
En cada iteración la variable se
incrementa lo que indique Step

Más contenido relacionado

La actualidad más candente (20)

Mapas y Diccionarios - Colecciones Parametrizadas
Mapas y Diccionarios - Colecciones ParametrizadasMapas y Diccionarios - Colecciones Parametrizadas
Mapas y Diccionarios - Colecciones Parametrizadas
 
Colecciones en java
Colecciones en javaColecciones en java
Colecciones en java
 
Guia n5 tam 2009 1
Guia n5 tam 2009 1Guia n5 tam 2009 1
Guia n5 tam 2009 1
 
Base de datos
Base de datosBase de datos
Base de datos
 
Java colecciones
Java coleccionesJava colecciones
Java colecciones
 
Java script estructuras_datos
Java script estructuras_datosJava script estructuras_datos
Java script estructuras_datos
 
Array List
Array ListArray List
Array List
 
Poo 4 arraylist
Poo 4 arraylistPoo 4 arraylist
Poo 4 arraylist
 
Vectores o arreglos con PHP
Vectores o arreglos con PHP Vectores o arreglos con PHP
Vectores o arreglos con PHP
 
Tema 4 clases_y_objetos
Tema 4 clases_y_objetosTema 4 clases_y_objetos
Tema 4 clases_y_objetos
 
Diagramadeclase
DiagramadeclaseDiagramadeclase
Diagramadeclase
 
Lotus script
Lotus scriptLotus script
Lotus script
 
Tema 10: Evaluación perezosa en Haskell
Tema 10: Evaluación perezosa en HaskellTema 10: Evaluación perezosa en Haskell
Tema 10: Evaluación perezosa en Haskell
 
Diagramadeclase 20090223
Diagramadeclase 20090223Diagramadeclase 20090223
Diagramadeclase 20090223
 
Complejidad Algoritmica
Complejidad AlgoritmicaComplejidad Algoritmica
Complejidad Algoritmica
 
Arreglos php
Arreglos phpArreglos php
Arreglos php
 
Apunte del Lenguaje LISP
Apunte del Lenguaje LISPApunte del Lenguaje LISP
Apunte del Lenguaje LISP
 
Lista fx hojas cálculo google
Lista fx hojas cálculo googleLista fx hojas cálculo google
Lista fx hojas cálculo google
 
Colecciones
ColeccionesColecciones
Colecciones
 
colecciones en java
colecciones en javacolecciones en java
colecciones en java
 

Similar a Vba y objetos excel

Similar a Vba y objetos excel (20)

Funciones Excel
Funciones ExcelFunciones Excel
Funciones Excel
 
3.6. formulas y funciones
3.6.  formulas y funciones3.6.  formulas y funciones
3.6. formulas y funciones
 
Fundamentos de programacion
Fundamentos de programacionFundamentos de programacion
Fundamentos de programacion
 
Video 1 metodos y arreglos
Video 1 metodos y arreglosVideo 1 metodos y arreglos
Video 1 metodos y arreglos
 
Scala collections
Scala collectionsScala collections
Scala collections
 
Manual excel medio funciones
Manual excel medio   funcionesManual excel medio   funciones
Manual excel medio funciones
 
Manual excel medio funciones
Manual excel medio   funcionesManual excel medio   funciones
Manual excel medio funciones
 
Manual excel medio - funciones
Manual excel medio -  funcionesManual excel medio -  funciones
Manual excel medio - funciones
 
Trabajo teórico practico excel
Trabajo teórico practico excelTrabajo teórico practico excel
Trabajo teórico practico excel
 
Jyoc java-cap11 colecciones
Jyoc java-cap11 coleccionesJyoc java-cap11 colecciones
Jyoc java-cap11 colecciones
 
Funciones y fórmulas
Funciones y fórmulasFunciones y fórmulas
Funciones y fórmulas
 
Apunte practico 1
Apunte practico 1Apunte practico 1
Apunte practico 1
 
Excel 1er año 2013
Excel 1er año 2013Excel 1er año 2013
Excel 1er año 2013
 
Ejercicios con Python parte 05
Ejercicios con Python parte 05Ejercicios con Python parte 05
Ejercicios con Python parte 05
 
Manual de Usuario - Lenguaje SQL - Clase 7.docx
Manual de Usuario - Lenguaje SQL - Clase 7.docxManual de Usuario - Lenguaje SQL - Clase 7.docx
Manual de Usuario - Lenguaje SQL - Clase 7.docx
 
Funciones DAX.pdf
Funciones DAX.pdfFunciones DAX.pdf
Funciones DAX.pdf
 
Manual de Excel
Manual de ExcelManual de Excel
Manual de Excel
 
Vb
VbVb
Vb
 
Excel
ExcelExcel
Excel
 
7.Fórmulas y funciones de excel
7.Fórmulas y funciones de excel7.Fórmulas y funciones de excel
7.Fórmulas y funciones de excel
 

Último

PIB,OKUN Y PARO ESTRUCTURAL: RELACIONES DIRECTAS E INVERSAS
PIB,OKUN Y PARO ESTRUCTURAL: RELACIONES DIRECTAS E INVERSASPIB,OKUN Y PARO ESTRUCTURAL: RELACIONES DIRECTAS E INVERSAS
PIB,OKUN Y PARO ESTRUCTURAL: RELACIONES DIRECTAS E INVERSASManfredNolte
 
niif para pyme, sección 31-hiperinflación
niif para pyme, sección 31-hiperinflaciónniif para pyme, sección 31-hiperinflación
niif para pyme, sección 31-hiperinflaciónAlejandroChare1
 
Mapa Conceptual elaborado por Daniela Chirinos relacionado con la funciones d...
Mapa Conceptual elaborado por Daniela Chirinos relacionado con la funciones d...Mapa Conceptual elaborado por Daniela Chirinos relacionado con la funciones d...
Mapa Conceptual elaborado por Daniela Chirinos relacionado con la funciones d...DanielaAndreinaChiri
 
Sesión 8 - Transformacion fusion con enfoque a la Normatividad Contable.pptx
Sesión 8 - Transformacion fusion con enfoque a la Normatividad Contable.pptxSesión 8 - Transformacion fusion con enfoque a la Normatividad Contable.pptx
Sesión 8 - Transformacion fusion con enfoque a la Normatividad Contable.pptxLUISFERNANDOTANTALEA
 
Sílabo Sociedad y Economía en la Globalización WORD.docx
Sílabo Sociedad y Economía en la Globalización WORD.docxSílabo Sociedad y Economía en la Globalización WORD.docx
Sílabo Sociedad y Economía en la Globalización WORD.docxMiguelIsaiasTorresPa
 
Conceptos básicos del gasto de gobierno en Bolivia
Conceptos básicos del gasto de gobierno en BoliviaConceptos básicos del gasto de gobierno en Bolivia
Conceptos básicos del gasto de gobierno en BoliviaClaudia Quisbert
 
Circuito de Cobranza en Comex 2018-2020 en Argentina
Circuito de Cobranza en Comex 2018-2020 en ArgentinaCircuito de Cobranza en Comex 2018-2020 en Argentina
Circuito de Cobranza en Comex 2018-2020 en ArgentinaGustavoGabrielAlves3
 
Solemne 2 Resumen.pdkhsdufhsiudfhsiudgfosugdfousdgfiusgefiugwefouhseofusegf
Solemne 2 Resumen.pdkhsdufhsiudfhsiudgfosugdfousdgfiusgefiugwefouhseofusegfSolemne 2 Resumen.pdkhsdufhsiudfhsiudgfosugdfousdgfiusgefiugwefouhseofusegf
Solemne 2 Resumen.pdkhsdufhsiudfhsiudgfosugdfousdgfiusgefiugwefouhseofusegfTrinidadRojasLoebel
 
exposición contabilidad de proyectos.pptx
exposición contabilidad de proyectos.pptxexposición contabilidad de proyectos.pptx
exposición contabilidad de proyectos.pptxpetejfra2004
 
Cuadro comparativo de las diferentes planeación.
Cuadro comparativo de las diferentes planeación.Cuadro comparativo de las diferentes planeación.
Cuadro comparativo de las diferentes planeación.CarolinaBeatrisLeyra
 
ANDREA MORELLO ADMNISTRACION SISTEMA POLÍTICO.pdf
ANDREA MORELLO ADMNISTRACION SISTEMA POLÍTICO.pdfANDREA MORELLO ADMNISTRACION SISTEMA POLÍTICO.pdf
ANDREA MORELLO ADMNISTRACION SISTEMA POLÍTICO.pdfAndreaMorello10
 
NIF B-3.pptx. NORMAS DE INFORMACIÓN FINANCIERAS
NIF B-3.pptx.  NORMAS DE INFORMACIÓN FINANCIERASNIF B-3.pptx.  NORMAS DE INFORMACIÓN FINANCIERAS
NIF B-3.pptx. NORMAS DE INFORMACIÓN FINANCIERASNataliaChvez8
 
PROYECTOS DE INVERSIÓN CONCLUSIONES FINANZAS
PROYECTOS DE INVERSIÓN CONCLUSIONES FINANZASPROYECTOS DE INVERSIÓN CONCLUSIONES FINANZAS
PROYECTOS DE INVERSIÓN CONCLUSIONES FINANZASjerleymocha
 
Análisis de Apalancamiento en las Empresas
Análisis  de Apalancamiento  en las EmpresasAnálisis  de Apalancamiento  en las Empresas
Análisis de Apalancamiento en las EmpresasRodrigo989554
 

Último (17)

anualidades matemática financiera en salud
anualidades matemática financiera en saludanualidades matemática financiera en salud
anualidades matemática financiera en salud
 
PIB,OKUN Y PARO ESTRUCTURAL: RELACIONES DIRECTAS E INVERSAS
PIB,OKUN Y PARO ESTRUCTURAL: RELACIONES DIRECTAS E INVERSASPIB,OKUN Y PARO ESTRUCTURAL: RELACIONES DIRECTAS E INVERSAS
PIB,OKUN Y PARO ESTRUCTURAL: RELACIONES DIRECTAS E INVERSAS
 
niif para pyme, sección 31-hiperinflación
niif para pyme, sección 31-hiperinflaciónniif para pyme, sección 31-hiperinflación
niif para pyme, sección 31-hiperinflación
 
Mapa Conceptual elaborado por Daniela Chirinos relacionado con la funciones d...
Mapa Conceptual elaborado por Daniela Chirinos relacionado con la funciones d...Mapa Conceptual elaborado por Daniela Chirinos relacionado con la funciones d...
Mapa Conceptual elaborado por Daniela Chirinos relacionado con la funciones d...
 
Sesión 8 - Transformacion fusion con enfoque a la Normatividad Contable.pptx
Sesión 8 - Transformacion fusion con enfoque a la Normatividad Contable.pptxSesión 8 - Transformacion fusion con enfoque a la Normatividad Contable.pptx
Sesión 8 - Transformacion fusion con enfoque a la Normatividad Contable.pptx
 
Sílabo Sociedad y Economía en la Globalización WORD.docx
Sílabo Sociedad y Economía en la Globalización WORD.docxSílabo Sociedad y Economía en la Globalización WORD.docx
Sílabo Sociedad y Economía en la Globalización WORD.docx
 
Conceptos básicos del gasto de gobierno en Bolivia
Conceptos básicos del gasto de gobierno en BoliviaConceptos básicos del gasto de gobierno en Bolivia
Conceptos básicos del gasto de gobierno en Bolivia
 
Circuito de Cobranza en Comex 2018-2020 en Argentina
Circuito de Cobranza en Comex 2018-2020 en ArgentinaCircuito de Cobranza en Comex 2018-2020 en Argentina
Circuito de Cobranza en Comex 2018-2020 en Argentina
 
Solemne 2 Resumen.pdkhsdufhsiudfhsiudgfosugdfousdgfiusgefiugwefouhseofusegf
Solemne 2 Resumen.pdkhsdufhsiudfhsiudgfosugdfousdgfiusgefiugwefouhseofusegfSolemne 2 Resumen.pdkhsdufhsiudfhsiudgfosugdfousdgfiusgefiugwefouhseofusegf
Solemne 2 Resumen.pdkhsdufhsiudfhsiudgfosugdfousdgfiusgefiugwefouhseofusegf
 
exposición contabilidad de proyectos.pptx
exposición contabilidad de proyectos.pptxexposición contabilidad de proyectos.pptx
exposición contabilidad de proyectos.pptx
 
Cuadro comparativo de las diferentes planeación.
Cuadro comparativo de las diferentes planeación.Cuadro comparativo de las diferentes planeación.
Cuadro comparativo de las diferentes planeación.
 
ANDREA MORELLO ADMNISTRACION SISTEMA POLÍTICO.pdf
ANDREA MORELLO ADMNISTRACION SISTEMA POLÍTICO.pdfANDREA MORELLO ADMNISTRACION SISTEMA POLÍTICO.pdf
ANDREA MORELLO ADMNISTRACION SISTEMA POLÍTICO.pdf
 
Proceso de Evaluación del Proyecto de Inversión
Proceso de Evaluación del Proyecto de InversiónProceso de Evaluación del Proyecto de Inversión
Proceso de Evaluación del Proyecto de Inversión
 
ANALISIS-FINANCIERO.ppt xxxxxxxxxxxxxxxxx
ANALISIS-FINANCIERO.ppt xxxxxxxxxxxxxxxxxANALISIS-FINANCIERO.ppt xxxxxxxxxxxxxxxxx
ANALISIS-FINANCIERO.ppt xxxxxxxxxxxxxxxxx
 
NIF B-3.pptx. NORMAS DE INFORMACIÓN FINANCIERAS
NIF B-3.pptx.  NORMAS DE INFORMACIÓN FINANCIERASNIF B-3.pptx.  NORMAS DE INFORMACIÓN FINANCIERAS
NIF B-3.pptx. NORMAS DE INFORMACIÓN FINANCIERAS
 
PROYECTOS DE INVERSIÓN CONCLUSIONES FINANZAS
PROYECTOS DE INVERSIÓN CONCLUSIONES FINANZASPROYECTOS DE INVERSIÓN CONCLUSIONES FINANZAS
PROYECTOS DE INVERSIÓN CONCLUSIONES FINANZAS
 
Análisis de Apalancamiento en las Empresas
Análisis  de Apalancamiento  en las EmpresasAnálisis  de Apalancamiento  en las Empresas
Análisis de Apalancamiento en las Empresas
 

Vba y objetos excel

  • 1. Objetos de Excel y Programación en Visual Basic · 1 de 3 __________________________________________________________________________________________________________________________ © 2001 Joaquín Caselles - Curso de Visual Excel (Ver. 2.6 · Mayo 2010) vexcel.jjcaselles.com - vexcel.coninteres.es OBJETOS DE EXCEL EN VISUAL BASIC . Jerarquía de Objetos: Application Workbooks(Workbook) Worksheets(Worksheet) Range Ejemplo: Application.Workbooks("NombreLibro.xls").Worksheets("NombreHoja").Range("C2").Propiedad Application.Workbooks(ÍndiceLibro).Worksheets(ÍndiceHoja).Range("NombreRango").Método ♣ Application El propio Excel. Propiedades [Tipo, Lectura/Escritura] Sintaxis: Application.Propiedad = Valor .Caption [String, L/E] Título de la Ventana Principal de Excel. .Path [String, L] Devuelve la Carpeta donde está instalado Excel. .WindowState [L/E] xlNormal / xlMaximized / xlMinimized. Estado de la ventana. .DisplayAlerts [Boolean, L/E] True / False. Muestra o no los mensajes de alerta. .ScreenUpdating [Boolean, L/E] True / False. Actualiza o no la ventana a medida que se ejecuta la subrutina. .DisplayStatusBar [Boolean, L/E] True / False. Muestra u oculta la barra de estado. .DisplayFormulaBar [Boolean, L/E] True / False. Muestra u oculta la barra de fórmulas. .StatusBar [String, L/E] Devuelve o establece el texto de la barra de estado. (False si Excel tiene el control). Métodos Argumentos Sintaxis: Application.Método Arg1:=Valor, Arg2:="Cadena", ... .Calculate Ninguno [] Recalcula todas las fórmulas, de todas las hojas, de todos los libros abiertos. .Help HelpFile, HelpContextId [String, Integer] Muestra un tema de ayuda. .Quit Ninguno [] Cierra Excel. .Run Macro, arg1, arg2, ... [String, ...] Ejecuta un Procedimiento con sus argumentos si los lleva. ♣ Workbooks Libros de trabajo de Excel. (Los *.xls) ThisWorkbook Libro que contiene la macro que se ejecuta. ActiveWorkbook Libro activo. (Ejemplo: NombreLibro = ActiveWorkbook.Name ) Workbooks("Libro1.xls") Referencia a un libro por su nombre. Libro llamado "Libro1.xls". ¡Debe estar abierto! Workbooks(1) Referencia a un libro por su Índice. Primer libro de la colección. Primer libro abierto. Workbooks(Workbooks.Count) Último libro de la colección. Último libro abierto. (Workbooks.Count es la cantidad de libros). Propiedades [Tipo, L/E] Sintaxis: Workbooks(Workbook).Propiedad = "Texto" Workbooks.Count [Integer, L] Devuelve el Número de libros de la colección de libros abiertos. Propiedad de la Colección. .Name [String, L] Devuelve el Nombre del Libro. (Para cambiarlo usar el método SaveAs). .Path [String, L] Devuelve la Ruta de acceso al archivo del libro. .Author [String, L/E] Nombre del Autor del libro. .Saved [Boolean, L] True / False. Si es False se han hecho cambios en el libro, y no están salvados. Métodos Argumentos Sintaxis: Workbooks(Workbook).Método Arg1:=Valor, Arg2:=" Texto", ... de la Colección Workbooks .Open FileName, ReadOnly [String, Bool] Abre un libro existente: FileName:="c:dirlibro.xls" .Add Ninguno [] Crea un nuevo libro vacío y lo agrega a la colección. de un libro determinado .Activate Ninguno [] Activa el libro especificado. .Close SaveChanges, FileName [Bool, String] Cierra el libro, y lo guarda con un nombre si True. .Protect Password, Structure, Windows [String, Bool, Bool] Protege el libro, estructura y ventanas. .Save Ninguno [] Guarda el libro, con el nombre actual. .SaveAs FileName [String] Guarda el libro, con un nuevo nombre. .SaveCopyAs FileName [String] Guarda una copia del libro, con un nuevo nombre. ♣ Worksheets Colección de Hojas de Trabajo. (Las hojas de un libro Excel) ActiveSheet Hoja activa. (Ejemplo: NombreHoja = ActiveSheet.Name ) Worksheets("Hoja1") Hoja llamada "Hoja1". Worksheets(1) Primera hoja de la colección. (Ej: NombreHoja = Worksheets(1).Name ) Worksheets(Worksheets.Count) Última hoja de la colección. (Worksheets.Count es la cantidad de hojas). Propiedades [Tipo, L/E] Sintaxis: Worksheets(Worksheet).Propiedad = "Cadena" Worksheets.Count [Integer, L] Propiedad de la Colección. Devuelve el número de hojas de la colección. .Index [Integer, L] Devuelve el índice númerico de la hoja dentro de la colección de hojas. .Name [String, L/E] Nombre de la Hoja. .Next [Worksheet, L] Devuelve la siguiente hoja. (.Previous) la anterior. .UsedRange [Range, L] Devuelve un objeto Range con el rango de la hoja que tiene datos.
  • 2. Objetos de Excel y Programación en Visual Basic · 2 de 3 __________________________________________________________________________________________________________________________ © 2001 Joaquín Caselles - Curso de Visual Excel (Ver. 2.6 · Mayo 2010) vexcel.jjcaselles.com - vexcel.coninteres.es Métodos Argumentos Sintaxis: Worksheets(Worksheet).Método Arg1:=Valor, Arg2:="Cadena", .. .Activate Ninguno [] Activa la hoja expecificada. .Calculate Ninguno [] Recalcula todas las fórmulas de la hoja especificada. .Delete Ninguno [] Elimina la hoja especificada. .Protect Password [String] Protege la hoja de cálculo. .Paste Destination [Range] Pega el rango copiado previamente en otro rango. ♣ Range Rangos dentro de una hoja de Trabajo. Son Colecciones de celdas. Range("B3") Se refiere al rango indicado (Colección de una sola celda). Range("C2:D3") Se refiere al rango indicado (Colección de varias celdas). Range("NombreDeRango") Se refiere al rango indicado por medio de un nombre. ActiveCell Se refiere a la Celda Activa (¡Ojo! No el Rango activo). (Si hay activo un rango de varias celdas, se refiere a la Celda Superior Izquierda). Selection.Cells Colección de celdas seleccionadas. Propiedades [Tipo, L/E] Sintaxis: Range().Propiedad .Count [Integer, L] Devuelve el número de celdas contenidas en el rango especificado. .Name [String, L/E] Nombre del rango. .Value [Cualquiera, L/E] El valor que tiene un rango. (Si son varias celdas devuelve una matriz) / …de fórmulas) .Formula [String, L/E] La fórmula contenida en el rango en forma de cadena de texto. (Lo que hay en la barra… .Text [String, L] El valor formateado del rango en forma de cadena de texto. (Lo que muestra la celda) .NumberFormat [String, L/E] Formato numérico (Ejemplo: "[Blue]#,##0.00 € ;[Red]-#,##0.00 € ;""Gratis""") .Font [Object, L/E] Contiene los atributos de fuente (.Name, .size, .Color, .Bold, .Italic, .Underline, etc) .Interior [Object, L/E] Se refiere al interior del Objeto (.Color, .Pattern, .PatternColor,etc) .EntireRow [Range, L] Se refiere a la Fila o Filas Completas del rango. .EntireColumn [Range, L] Se refiere a la Columna o Columnas Completas del rango. .Offset(RowOffset, ColumnOffset) Se refiere a un rango desplazado tantas filas y columnas desde el rango especificado. .Row y .Column [Long, L] Devuelve el número de la primera fila (o Columna) de la primera área del rango. .Rows y .Columns[Range, L] Se refiere a la Colección de Filas (o Columnas) del rango especificado. .Dependents [Range, L] Devuelve un objeto Range con las celdas dependientes de rango. (.Precedents) Métodos Argumentos Sintaxis: Range().Métoto Arg1:=Valor, Arg2:="Cadena", ... .Select Ninguno [] Selecciona el Rango (de una o más celdas). .Activate Ninguno [] Activa una sola celda que si está en la selección actual no cambia la selección. .Calculate Ninguno [] Recalcula todas las fórmulas del rango especificado. .Copy Destination [Range] Copia el rango en otro rango. Si no se pone el destino, copia al portapapeles. .PasteSpecial [Varios Opcionales] Pega el rango copiado. Se puede especificar lo pegado (Valores, Fórmulas, etc.). .Delete Shift [xlShiftToLeft / xlShiftUp] Elimina el rango y desplaza según indicación. .ClearContents Ninguno [] Borra los valores del rango, pero mantiene el formato, reglas, etc. Programación de Código en Visual Basic for Applications (VBA) Option Explicit ' Fuerza la Declaración explícita de Variables con Dim. Option Base 1 ' Indica el índice base de los arrays. Por omisión 0. Option Compare {Binary | Text | Database} ' Especifica el método de Comparación de Textos en el módulo. Dim Variable1 As Tipo ' Declara una Variable Global del Módulo de tipo Tipo. Public Variable1 As Tipo ' Declara una Variable Pública del Proyecto de tipo Tipo. Type TipoPersonal ' Define un Tipo de Datos Personal en forma de Registro Campo1 As Tipo ' con varios campos del tipo deseado. Campo2 As Tipo End Type ' <-- Después de una comilla simple todo es un Comentario aclaratorio y aparece en verde. Sub NombreProcedimiento(ByVal Arg1 As Tipo, ByRef Arg2 As Tipo, Optional ByRef Arg3opc As Variant) Const Constante1 As Tipo = Valor ' Declara una Constante y le asigna el valor Valor. Dim Variable1 As Tipo ' Declara una Variable Local de tipo Tipo. Dim Array1(5, 8) As Tipo ' Declara un Array de 5 x 8 datos del tipo Tipo. Hasta 60 dimensiones. Dim Array1(3 to 7) As Tipo ' Declara un Array de 5 datos (del 3 al 7) del tipo Tipo. Array1(3,7) = Valor ' Asigna Valor al elemento (3,7) del array Array1. Variable1 = NombreFunción(Arg1, Arg2) ' Asigna a Variable1 lo que devuelve NombreFunción. Set Var_Objeto = {[New] Objeto | Nothing} ' Asigna una Referencia de Objeto a una Variable o Propiedad Call NombreProcedimiento2(Arg1, Arg2) ' Ejecuta el Procedimiento NombreProcedimiento2. NombreProcedimiento2 Arg1, Arg2 ' Ejecuta el Procedimiento NombreProcedimiento2. Instrucción : Otra Instrucción más larga _ ' El Espacio + Subrayado sirve para continuar en la línea siguiente. que no cabe en la línea anterior ' Y los (:) para escribir varias instrucciones en la misma línea. End Sub
  • 3. Objetos de Excel y Programación en Visual Basic · 3 de 3 __________________________________________________________________________________________________________________________ © 2001 Joaquín Caselles - Curso de Visual Excel (Ver. 2.6 · Mayo 2010) vexcel.jjcaselles.com - vexcel.coninteres.es Function NombreFunción(ByVal Arg1 As Tipo, ByRef Arg2 As Tipo, Optional ByRef Arg3opc As Variant) As Tipo Instrucciones y Cálculos necesarios para obtener una Expresión_Resultado .... NombreFunción = Expresión_Resultado ' La Función NombreFunción devolverá Expresión_Resultado. End Function Tipos de Datos Nombre Tamaño Contenido Rango del Contenido Boolean 2 bytes True / False String 1 byte Cadena 1 byte / carácter + 10 bytes de cabecera. Hasta 2.000 millones de caracteres. Byte 1 byte Bytes 0…..255 Integer 2 bytes Enteros -32.768…..32.767 Enteros Long 4 bytes Enteros largos -2.147.483.648…..2.147.483.647 Single 4 bytes Reales Simple Precisión en coma flotante. 1,401298E-45…..3,402823E38 (7 dígitos) Double 8 bytes Reales Doble Precisión en coma flotante. 4,94065645841247E-324…..1,79769313486232E308 Currency 8 bytes Moneda -922.337.203.685.477,5808.....922.337.203.685.477,5807 (922 Billones) (15 + 4) Decimal 14 bytes Reales largos +/-79.228.162.514.264.337.593.543.950.335 (29 ó 1 + 28) Date 8 bytes Fecha y Hora 1/1/100.....31/12/9999 ( -657.434.....2.958.465 ) Object 4 bytes Objeto Almacena cualquier referencia a un objeto de Excel. Variant 16 bytes Variante El tipo por defecto si no se especifica otro. (Admite cualquiera de los anteriores). Estructuras de Control de Flujo Flujo Alternativo Condicional (If) 1 If Condición Then Instruc. Si Condición Cierta : Otra Instr. If Condición Then Instrucciones Si Condición es Cierta 2 Else 'Cláusula Opcional Instrucciones Si Condición es Falsa End If If Condición Then Instrucciones Si Condición es Cierta Else 3 If Condición 2 Then Instrucciones Si Condición2 es Cierta End If End If If Condición 1 Then Instrucciones Si Condición 1 es Cierta ElseIf Condición 2 Then 4 Instrucciones Si Condición 1 es Falsa y Condición 2 es Cierta End If Flujo Alternativo Evaluativo (Select Case) Select Case Expresión Case Valor1 : Instrucciones si Expresión = Valor1 Case Valor2, Valor3 Instrucciones si Expresión = Valor2 ó Expresión = Valor3 Case 1 To 4, 9: Instrucciones si Expresión = 1....4 ó 9 Case 5 To 8 : Instrucciones si Expresión = 5....8 Case Else : Instrucciones Si Ninguno Anterior 'Opcional End Select Bucle para Recorrer Colecciones (For Each) For Each Elemento In Colección Instrucciones Next Elemento Bucle de Repetición Conocida (For Next) For Contador = 1 To 100 Step 2 'Step es Opcional Instrucciones Next Contador Bucles de Repetición Desconocida (Do Loop) While Condición 0 Instrucciones mientras Condición sea Cierta Wend Do While Condición 1 Instrucciones mientras Condición sea Cierta Loop Do Until Condición 2 Instrucciones hasta que Condición sea Cierta Loop Do 3 Instruc. se repiten mientras Condición Cierta Loop While Condición Do 4 Instruc. se repiten hasta que Condición Cierta Loop Until Condición Nota: La sintaxis nº 0 está en desuso a favor de las más modernas 1 a 4 (do … loop). (La nº 0 es idéntica a la nº1) Referencias Abreviadas With Objeto .Propiedad = Valor ' Idéntico a Objeto.Propiedad = Valor With .SubObjeto .Método = Valor ' Idéntico a Objeto.SubObjeto.Método = Valor End With End With Nota: Una vez que se ha entrado en un bloque With no es posible cambiar el objeto. Por tanto, no se puede utilizar una única instrucción With para varios objetos. Una iteración para cada elemento de la Colección En cada iteración la variable se incrementa lo que indique Step