Vous êtes sur la page 1sur 7

Hola amigos, en esta ocasin os traigo un post que espero que os guste, os sea util y sobretodo se pueda aprovechar

lo suficiente. Muchos de vosotros seguro que al igual que yo, utilizais el Office en cualquiera de sus versiones, bien puede ser la 2003 / 2007 / 2010 o en breves seguro que saldr la version 2011 si es que no ha salido ya. Pues bein en esta ocasin voy a adentrarme en uno de los programas ms potenentes como ex la hoja de clculo Excel. Vamos a hablar de algo que por mi experiencia pocos conocen y que me parece algo que todos deberiamos aprender cada da un poco ms para sacarle realmente partido a este magnfico programa. Las macros en excel y la aplicacion de Visual Basic para Aplicaciones (VBA). Qu es una macro? Una macro en un lenguaje para que todos lo entendamos son instrucciones que mediante lenguaje de programacin, se le dan a un programa o aplicacin, en este caso Excel, para que realice una serie de operaciones de forma automtica. A continuacin os dejo una imagen de Visual Basic para aplicaciones, el cual podremos acceder a el a travs de la combinacin de teclas ALT + F11.

Para trabajar con macros en excel 2007 o 2010 debemos tener a la vista la ficha programador en la cinta de opciones, la cual se saca a travs de: Botn de Office > Opciones de Excel > Activar ficha programador.

Una vez hecho esto en la ficha programador podemos simplemente agregar un boton de comando a traves de la opcion Insertar que nos aparece en dicha ficha. Hacemos clik en el boton de comando y dibujamos un botn. Haciendo doble clik en ese botn, podemos acceder tambien al entorno de programacin vba.

Ahora os voy a dejar una serie de macros creo que bastante tiles para ciertas ocasiones. Espero que os sirvan y os sean tiles: Macro que busca un valor en una columna de una hoja y muestra en un msgbox los datos solicitados. Vamos a suponer que tenemos que buscar en la columna A de una hoja de excel llamada hoja1 un dato que debemos colocar en un textbox de un formulario, llamado TextBox1 de la misma hoja: Sub buscar() ActiveSheet.Range("A1" ).Activate Set dato = Workbooks("libro1.xls" ).Sheets("Hoja1" ).Range("a:a" ).Find(What:=Textbox1.Value, _ LookIn:=xlFormulas, _ LookAt:=xlPart, _ SearchOrder:=xlByRows, _ SearchDirection:=xlNext, _ MatchCase:=False) 'Si se encuentra el dato, entonces.... If Not dato Is Nothing Then 'Pasamos a una variable los datos encontrados

variable1 = dato 'Esto coloca en la variable llamada variable1 el dato encontrado. variable2 = dato.Offset(0, 1).Value 'Esto coloca el dato de la celda de la derecha al dato encontrado variable llamada variable2 variable3 = dato.Offset(0, 3).Value ' Hace lo mismo con el dato colocado dos columnas a la derecha del dato encontrado 'Muestra un msgbox con los datos encontrados. MsgBox "Las existencias que quedan en el almacn del producto" & " " & descripcion & " " & "cuya referencia es" & " " & referencia & " " & "son" & " " & unidades, vbInformation, "UNIDADES EXISTENTES" Workbooks("INVENTARIO.XLS" ).Close False 'Cierra el libro sin guardar los cambios Else 'Si el dato no se encuentra en la lista, entonces... 'Muestra un mensaje diciendo que no se encontro el dato MsgBox "El producto no se encuentra en el inventario", vbInformation, "PRODUCTO NO ENCONTRADO" End If End Sub Macro que encuentra la primera celda vacia de una columna: Sub celda_vacia() 'Siempre partimos en este caso del libro activo y teniendo en cuenta que la macro est en la misma hoja donde se realizan las operaciones. 'Mientras la celda activa no este vacia, baja una fila. Activesheet.range("a1" ).Activate Do While Not isEmpty(Activecell) Activecell.offset(1,0).Activate Loop 'En la celda activa, la cual esta vacia, escribe Hola. Activecell.value= "Hola" End Sub Macro que abre un libro llamado librodiferente.xls, el cual es diferente al que contiene la macro pero se encuentra la misma carpeta que el libro que contiene la macro. Sub abrir_libro_en_la_misma_carpeta()

Workbooks.Open Thisworkbook.Path & "librodiferente.xls" End sub Abrir el libroempresa.xls especificando la ruta por ejemplo vamos a abrir un libro que este en la ubicacion "c:empresa Sub abrir_libro Workbooks.Open Filename:="c:empresalibroempresa.xls" End sub Macro que abre un libro cuyo nombre se encuentra en una variable: Sub abrir_libro_variable 'Colocamos el nombre del libro en un inputbox AbrirLibro=Inputbox("Teclea el libro que desea abrir", "Libro para abrir" ) 'Abrimos el libro con extensin xls Workbooks.Open ThisWorkbook.Path & "" & AbrirLibro End Sub Macro para guardar un libro. Sub Guardar() 'Workbooks("nombre del libro.xls" ).Save End Sub Macro Guardar como... Sub GuardarComo() 'Esta macro guarda el libro en la misma carpeta que contiene la macro con un nombre diferente Guardar=inputbox("Guardar Como", Guardar como) Workbook.SaveAs ThisWorkbook.Path & "" & Guardar & ".xls"

End Sub Macro que guarda un libro con otro nombre en la ruta que queramos, por ejemplo en c:macrosExcel Sub GuardarComo() Guardar=inputbox("Guardar Como", Guardar como) Workbook.SaveAs Filename:="c:maroxExcel" & Guardar End Sub

Vous aimerez peut-être aussi