Escolar Documentos
Profissional Documentos
Cultura Documentos
Si tiene algn problema al dibujar las etiquetas o los cuadros de texto, solo cmbiele el nombre a la etiqueta o
el cuadro de texto en la Ventana Propiedades la opcin se llama (Name). El Error que marque puede ser
Nombre Ambiguo, pero si le cambias el Nombre al control se quitara el error. Puedes ponerle cualquier
nombre en lugar de Label1.
Ver objeto
8. Ahora de doble clic sobre el control Textbox1 para programarlo y despus inserte el siguiente cdigo:
Private Sub TextBox1_Change()
Range("A9").Select
ActiveCell.FormulaR1C1 = TextBox1
End Sub
Esto indica que se valla a A9 y escriba lo que hay en el Textbox1
Nota.-Lo que esta en azul lo genera Excel automticamente, usted solo escribir lo que esta en Negrita.
Para volver al Formulario y programar el siguiente Textbox de doble clic en UserForm1 que se encuentra
en el Explorador de Proyecto, o simplemente de clic en Ver Objeto en el mismo Explorador de
Proyecto.
9. Ahora de doble clic sobre el control Textbox2 para programarlo y despus inserte el siguiente cdigo:
Private Sub TextBox2_Change()
Range("B9").Select
ActiveCell.FormulaR1C1 = TextBox2
End Sub
Esto indica que se valla a B9 y escriba lo que hay en el Textbox2
Para volver al Formulario y programar el siguiente Textbox de doble clic en UserForm1 que se encuentra
en el Explorador de Proyecto, o simplemente de clic en Ver Objeto en el mismo Explorador de
Proyecto.
10. Ahora de doble clic sobre el control Textbox3 para programarlo y despus inserte el siguiente cdigo:
Private Sub TextBox3_Change()
Range("C9").Select
ActiveCell.FormulaR1C1 = TextBox2
End Sub
Esto indica que se valla a C9 y escriba lo que hay en el Textbox3
Para volver al Formulario y programar el Botn de Comando Insertar de doble clic en UserForm1 que
se encuentra en el Explorador de Proyecto, o simplemente de clic en Ver Objeto en el mismo Explorador
de Proyecto.
11. Ahora de doble clic sobre el control Botn de Comando para programarlo y despus inserte el
siguiente cdigo:
Private Sub CommandButton1_Click()
Rem inserta un rengln
L.I. Jos Raymundo Ceja Vzquez
Se activara el Userform1 y todo lo que escriba en los Textbox se escribir en Excel y cuando presione el
botn Insertar, se insertara un rengln y se vaciaran los Textbox y despus se mostrara el cursor en el
Textbox1.
el formulario tendr:
Tres etiquetas
Tres Textbox
Un Botn de Comando
Los datos que se preguntaran sern Nombre y Edad, los Das Vividos se generaran automticamente cuando
insertes la edad. A continuacin se muestra como se deben de programar estos Controles:
L.I. Jos Raymundo Ceja Vzquez
Este cdigo permite hacer visible el ayudante o sea mostrarlo. Si deseas ocultarlo solo cambia la opcin True
por False.
Assistant.Visible = True
Este cdigo permite Mover el Asistente a un nuevo lugar, solo cambia los valores numricos y cambiara de
posicin.
Assistant.Move 430, 230
Este cdigo permite activar un efecto de animacin, cuando escribas el signo Igual despus de
Assistant.Animation = aparecer un men con diferentes efectos de animacin
Assistant.Animation = msoAnimationListensToComputer
Este ejemplo permite crear un Nuevo Asistente para poderlo manipular con una pregunta y que tu contestes.
La variable t guardara el valor de la respuesta, si el valor es -3 significa que es Si y por lo tanto borrara el
rengln.
With Assistant.NewBalloon
.Text = "Deseas Borrar este Registro"
.Button = msoButtonSetYesNo
.Heading = "Advertencia"
t = .Show
End With
If t = -3 Then
Assistant.Animation = msoAnimationEmptyTrash
Selection.EntireRow.Delete
End If
el formulario tendr:
Tres etiquetas
Tres Textbox
Tres Botones de Comando
Los datos que se preguntaran sern Nombre, Direccin y Telfono. Los tres botones nos servirn para lo
siguiente: Consultar consultara la informacin que hayamos insertado desde el botn insertar. Baja podr
eliminar algn dato que se consulto y no lo queremos. Insertar tendr la funcin de insertar los registros que
vayamos dando de alta, es como los ejercicios anteriores. A continuacin se muestra como se deben de
programar estos Controles:
Programacin de los Controles:
Botn de consulta
Private Sub CommandButton1_Click()
Cells.Find(What:=TextBox1, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False).Activate
ActiveCell.Offset(0, 1).Select
TextBox2 = ActiveCell
Rem la lnea que contiene el ActiveCell.Offset(0, 1).Select permite moverse una columna a la derecha, por lo
tanto despus de la bsqueda de las primeras lneas con Cell.Find si encuentra el Nombre de la persona se
mueve a la siguiente columna y la lnea TextBox2 = ActiveCell Permite capturar el valor de la celda al
Textbox2 y as mostrar el dato de la celda en el TextBox2.
Botn baja
Private Sub CommandButton2_Click()
Selection.EntireRow.Delete
Range("A9").Select
TextBox1 = Empty
TextBox2 = Empty
TextBox3 = Empty
TextBox1.SetFocus
End Sub
Botn insertar
Private Sub CommandButton3_Click()
Range("A9").Select
Selection.EntireRow.Insert
TextBox1 = Empty
TextBox2 = Empty
TextBox3 = Empty
TextBox1.SetFocus
End Sub
Cuadros de texto
Private Sub TextBox1_Change()
Range("A9").FormulaR1C1 = TextBox1
Rem esta primer lnea reemplaza a estas dos que te parece todava mas corta
Range("A9").Select
Range(A9).FormulaR1C1=TextBox1
ActiveCell.FormulaR1C1 = TextBox1
Reemplaza estas
dos lneas
End Sub
Private Sub TextBox2_Change()
Range("B9").FormulaR1C1 = TextBox2
End Sub
Private Sub TextBox3_Change()
Range("C9").FormulaR1C1 = TextBox3
End Sub
Si con el Botn Consulta tienes un error cuando no encuentra a la persona, entonces tendrs que agregar esto
a tu cdigo del Botn Consultar
Botn de consulta
Private Sub CommandButton1_Click()
On Error Goto noencontro
Rem esta lnea genera una trampa de error si Excel encuentra un error se le dice que se vaya a la etiqueta
noencontro que esta definida mas adelante en el cdigo. No use la trampa de error si no tiene problemas a la
hora de que no encuentra a la persona. Recuerde si usted comete cualquier error Excel se dirigir a la etiqueta
noencontro.y esquivara cualquier error, hasta uno que usted cometa en la programacin.
Cells.Find(What:=TextBox1, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False).Activate
ActiveCell.Offset(0, 1).Select
TextBox2 = ActiveCell
ActiveCell.Offset(0, 1).Select
TextBox3 = ActiveCell
Rem Tambin se puede utilizar este cdigo para leer la informacin de las celdas lo que esta en azul. La
diferencia es que se asignan los valores a variables y despus se descargan a los TextBoxs.
ActiveCell.Offset(0, 1).Select
Direccion = Activecell
ActiveCell.Offset(0, 1).Select
Telefono = Activecell
TextBox2 = Direccion
TextBox3 = Telefono
noencontro:
Rem Aqu se esquiva el error
End Sub
Que te parece es increble como una Macro combinada con Visual Basic puede hacer hasta lo imposible
Bueno ya tenemos elaborado un ejercicio de consultas de datos, ahora accesaremos al formulario desde Excel
sin necesidad de entrar al Editor de Visual Basic.
Para realizar este ejercicio debemos permanecer dentro del Editor de Visual Basic para poder introducir el
cdigo en un Modulo, por lo tanto debers seguir los siguientes pasos:
10
Ya que estamos en Excel, podemos insertar una imagen o un botn o cualquier grafico, por ejemplo:
11