programacion vba para excel

Upload: jennifer-quenaya

Post on 03-Nov-2015

27 views

Category:

Documents


3 download

DESCRIPTION

programacion basica en VisuAL Basic

TRANSCRIPT

PROGRAMACION VBA PARA EXCELINTRODUCCION:Si bien la grabadora de macros es muy til y genera un cdigo siempre correcto, tiene dos desventajas:1. genera mas cdigo que el necesario.2. slo puede hacer macros con instrucciones secuenciales y sin nada de lgica, o sea que no pueden tomar desiciones ante un evento.Ambas desventajas se pueden solucionar con la programacin VBA que quiere decir programacin visual basic para aplicaciones, lo lamento pero aqu no tenemos mas remedio que aprender a programar y eso es lo que van a ir aprendiendo con los tutorarles de este apartado.VBA es una programacin que est ntimamente relacionada con los libros y las hojas de clculo y para esto Excel cuenta con un editor de programacin donde se pone el cdigo, a este se puede acceder, en Excel 2007, yendo a la pestaa programador y luego a la seccin cdigo donde hacemos clic en Visual Basic

En Excel 2003 hay que ir al men desplegable herramientas y de ah la ruta macros y Editor de Visual Basic

ambas formas nos lleva, luego de hacer doble clic en Hoja1por ejemplo, al editor

las macros que se escriban aqu, estaran relacionadas con la Hoja1.Comencemos por lo mas simple y escribamos una macro que seleccione la celda B5de la Hoja1 del libro VBAProject (Libro2)

donde podemos ver que el cdigo

se escribe entre "Sub" y "End Sub" y que el nombre

no tiene espacios y termina con "( )" . Para ejecutar este cdigo pulsamos en el iconoo en la tecla F5 para que aparezca el panel Macros

donde puede verse el nombre de la macro que ya est seleccionada, luego pulsamos en "ejecutar" y despues en el icono, o seleccionando " Alta + F5 que nos lleva a la pantalla con el resultado

que es la seleccin de la celda B5.Otro cdigo muy simple es escribir un valor en una celda.Escribamos el valor 2007 en la elda D8

y si lo queremos borrar

A estas alturas estamos en condiciones de explicar estos sencillos cdigos:En la programacin VBA se trabaja con OBJETOS ( Hojas, celdas, Rangos, etc) que como todo objeto, tiene propiedades, por ejemplo el objeto celda pude tener la propiedad de alto, ancho, estar seleccionada, tener un valor, o no tener ninguno, etcEn los cdigos que hemos escrito tenemos los objetos Range("B5") ( celda B5) con la propiedad de estar seleccionada y el objeto Range("D8") ( celda D8) con la propiedad de tener un nmero (2007) y despues estar vaca.CODIGOS MAS SIMPLES PARA EMPEZAR1-Seleccionar una CeldaRange("A1").Select2-Escribir en la celda que est seleccionada en el momento actualActivecell.FormulaR1C1="Pedro"la combinacin los cdigos 1 y 2 es equivalente a esta sola lnea:Range("A1").Value=" pedro"El uso de FormulaR1C1 sera explicado mas adelante3-Letra NegritaSelection.Font.Bold = True4-Letra CursivaSelection.Font.Italic = True5-Letra SubrayadaSelection.Font.Underline = xlUnderlineStyleSingle6-Centrar TextoWith Selection .HorizontalAlignment = xlCenterEnd With7-Alinear a la izquierdaWith Selection .HorizontalAlignment = xlLeftEnd With8-Alinear a la DerechaWith Selection .HorizontalAlignment = xlRightEnd With9-Tipo de Letra(Fuente)With Selection.Font .Name = "Arial"End With10-Tamao de Letra(Tamao de Fuente)With Selection.Font .Size = 12End With11-CopiarSelection.Copy12-PegarActiveSheet.Paste13-CortarSelection.Cut14-Ordenar AscendenteSelection.Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom15-Orden DescendenteSelection.Sort Key1:=Range("A1"), Order1:=xlDescending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom16-BuscarCells.Find(What:="Csar", After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _ False).Activate17-Insertar FilaSelection.EntireRow.Insert18-Eliminar FilaSelection.EntireRow.Delete19-Insertar ColumnaSelection.EntireColumn.Insert20-Eliminar ColumnaSelection.EntireColumn.Delete21-Abrir un LibroWorkbooks.Open Filename:="C:\Mis documentos\Tablas dinamicas.xls"22-Grabar un LibroActiveWorkbook.SaveAs Filename:="C:\Mis documentos\tablas.xls", FileFormat _ :=xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:= _ False, CreateBackup:=False