Sei sulla pagina 1di 6

MACROS EN EXCEL

ParteIII
Hola amigos,estamosde nuevo aquí para mosfar la terceraparte de Guía de Macros en
Excel que te será de gran utilidad, ya que se manejaranConsultas en los Formularioso
¡ccesos a las Macros desde Excel sin necesidad de entrar a Visual Basic y algunos
mótodos de trabajar mas fácil. De antemanomuchasgracias por apoyar este curso de
Excel creo que les ha servido,no habíatenido mucho tiempo para escribir estaterceraparte
pe¡ocreoqueya esta......, !Mucho Animol!!.

ELABORANDO UNA CONSULTA

Todo Registro de informacién debede tener su propia Consulta, Baja y Modificacién, es


por eso que en este nuevo capitulo nos concentramosen ello, primerunente en poder
consult¡r la información que ya se escribió en la Eoja de Excel, obüamenúedesdeuna
Macro combinadacon Visual Basig observemosel siguienteejemplo:

FaseI

1. PresioneLa TeclasAlt + F11, püa enlar al editor de Visual Basic.


2. Activa las siguie,ntes
opciones:
o De clic en el Menú Ver y elija la opción Explorador de Proyectos
. De clic en el Menú ver y elija la opción Ventana Propiedades
3. Del Menú Insertar elija la Opción UserForm. Esto inserta el Formulario que
progr¿rmaremos con controles.En el Explorador de Proyecto se observaraque se
insertoel UserForm.

Alora crearasun formulario con el sieuienteasoecto:

Cúns,ftC Bafat

el formulario tendrá:

a
a Tres T
a Tres Botonesde
Los datosque se preguntaranseranNombre, Direcciór y Telófono. Los tres botonesnos
servirán para lo siguiente: Consultar consultarala información que hayamos insertado
desdeel botón insertar.Baja podrá eliminar algun dato que se consultoy no lo queremos.
fnsertar tendrála función de insertarlos registrosque vayamosdandode alt4 es como los
ejercicios anteriores. A continuación se muestra como se deben de programar estos
Controles:

Programaciénde los Controles:

BOTON DE CONSULTA

PrivateSub CommandButtoni_Click$

Cells.Find(Whd ::TextBoxl, Aft er:=ActiveCell, Lookln :dFormulas, LookAt _


:=xlPargSearchOrder::xlByRows,SearchDirection::xlNoct MatchCase:: _
False).Activate

ActiveCell.Offset(0, I ). Select
TextBox2 : ActiveCell

la línea que contieneel ActiveCell.Offset(0, l).Select permitemoverseuna columna


lii'.e,u¡r
a la derech4por lo tanto despuésde la búsquedade las primeraslíneascon Cell.Find si
encuentrael Nombre de la personase muerrea la siguientecolumnay la líneaTextBox2 :
ActiveCell Permitecapturarel valor de la celdaal Textbox2 y así mostrarel datode la
celdaen el TextBox2.

AcüveCell.Offset(0, I ). Select
TextBox3 : ActiveCell

tl,e¡riCadavez que se escribala líneaActiveCell.Offset(0, l).Setect significa que setiene


que moverseuna columnaa la derecha.

li.r:ri¡Si el nombreque tratasde consultarno se encuentrapodríagenerarun srror porque


fallaúa el Cell.Find estopuedeocurrir en el Word 97, yo trabajocon el Word 2000 o XP y
no tengoeseproblema Peroestosesolucionaríacon una trarnpade error.

End Sub

BOTON BAJA
Private Sub Comrr¡andButton2_Click$
EntireRow.Delete
Selection.
Range("A'9").Select
TextBoxl : Empty
TextBox2 : Empty
TextBox3 : Empty
TextBoxl.SetFocus
End Sub
BOTON INSERTAR

PrivateSub CommanclButton3_Click$
Rang{'49").Select
Selection.
EntireRow.Insert
TextBoxl : Empty
TextBox2:Empty
TextBox3:Empty
TextBoxl.SetFocus
End Sub

CUAI}ROS DE TEXTO

Pnvate SuLrTextBox1_Change()
Range("A9")^FormulaRI Cl : TextBoxl

rrrnr estaprimer líneareemplazaa estasdos.. . ... que te parecetodavíamascorta

Sange(",{9'i).Select
ActiveCell.FormulaRlC I : TextBoxl: I- Comentario [l^aónl]: Rang{":
I A9').FormulaRlCl:TedBoxl
I Rcemplaa estasdos üneas
End Sub

Priv-ateSub TextBox2_Change()
Rang{"89').FormulaRl Cl : TextBox2
End Sub

PrivateSub TextBox3_Change$
Range("C9").FormulaRlC 1 : TextBox3
End Sub

Si con el Botén Consulta tienes un error cuando no encuentraa la person4 entonces


tendrasque agregarestoa tu codigo del Botón Consultar
BOTONDE CONSULTA

PrivateSub CommandButtonl Clicko

On Error Goto noencontro

i-l.arr€stf,líneagenerauna trampade error si Excel encuentraun error se le dice que sevaya


a la etiquetanoencontro que estadefinidamas adelanteen el código.No usela trampade
error si no tiene problemasa la hora de que no encuentraa la personaRecuerdesi usted
cometecualquiererror Excel se dirigirá a la etiquetanoencontno.yesquivaracualquier
error,hastauno que ustedcometaen la programación.

Cells.Find(Whd ::Tef Boxl, Aft er:=Activdell, Lookln: :xlFormulas, LookAt -


::xlPart, SearchOrder::xlByRows,SearchDirection::xlNext,MatchCase::-
False).Activde

ActiveCell.Offset(0, L).Select
TextBox2 : ActiveCell
ActiveCell.Offset(0, 1),Select
TextBox3 : ActiveCell

R,emTambiénsepuedeutilizar estecódigoparaleer la informaciónde las celdaslo que


La diferenciaesque se asignanlos valoresa variablesy despuésse descargan
esta€n azt¿L.
a los TextBoxs.

ActiveCell.O ffset(0, 1).Select


Direccion= Activecell

ActiveCell.Offset(0,1).Select
Telefono= Activecell

TextBox2: Direccion
'fexfBox3 : Telefono

noencontro:
i'r.:¡;'o
AOri seesquivael error

End Sub

Quete parecees increíblecomo una Macro combinadacon Visual Basic puedehacerhasta


lo imposible
Buenoya tenemoselaboradoun ejerciciode consultasde datos,ahoraaccesaremos
al
formulario desdeExcel sin necesidadde entraral Editor de visu¡l Basic.

Pararealizw esteejerciciodebemospermanecerdentrodel Editor de Visu¡l Basic para


poderintroducir el código en un Modulo, por lo tsrto deberasseguirlos siguientespuos

{ De clic en el Menú fnsertar y elija la opción Modulo


r' Escriba dentro del Modulo el nombre del modulo en estecasoFtllilftñll

CuandoustedescribaSub Entradaapareceráde la siguientemanera:

SubEntradaQ

Load UserForml
UserForml.Show

End Sub

Usted deberáescribir las dos líneasque estánen medio que son:

Load UserForml
UserForml..Show

I a primer línea significa que ca.rguea la memoriael formulario que sellama UserForrnl,
la segundalínea significa que lo muestre,estoquieredecir que en el modulo estamos
escribiendoel código de una m¿rcroque permitirá cargarel formula¡io desdeExcel sin
necesidadde entar al Editor de Yisual Basic-

Si te fija gn el exploradorde proyectoapareceel que creamos

EuroTool
VBAProlcrt
{t! Micreoft 0bJetos
i {l ru¡ar l)
j EnFbjaz

E t:r
H

si queremosvolver al formulario solo da doble clic en UserÍ'orml


Buenoya estalisto ahorasalgamosdel Editor de Yisual Basic y volvamosa Excel.

r' De clic en el Menú Archivo del Editor de Visual Basic


I Elija la opción Cerrar y volver a Microsoft Excel

Ya que estamosen Excel, podemosinsertaruna imageno un botón o cualquiergrafico, por


ejemplo:

{ Declic en el Menú Insertar


r Elljala opciónImagen, seguidopor Imagen Prediseñada
/ insertecualquierimageny deleel tamañoque usteddesea.
{ De clic derechosobrela Imagen
r' Ehjalaopción Asignar Macru
{ De clic e,nla Macro que se llama Entrnda, es obvio la única que hicimos
{ De Clic en Aceptar
/ De clic fuera de la imagenen cualquiercelday listo si presionasla imagen cargara
el formulario.

Potrebbero piacerti anche