You are on page 1of 3

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:=Textbox
1.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
Espero que os sean utiles estas macros.

You might also like