lunes, 30 de abril de 2012

Construir una calculadora en Excel

Vamos a crear un libro nuevo le llamaremos calculadora

I parte construir calculadora
  1. Ir a Visual Basic para aplicaciones
  2. ir al menu insertar y seleccionar UserForm
  3. En la propiedad Name asignarle frmCalculadora










Ahora construya un formulario muy similar a la calculadora de windows



II Parte - Código

HAY QUE PONERLE NOMBRE A CADA OBJETO

¿Cómo?

  1. En la propiedad Name de cada objeto
    1. ejemplo al botón 1 CmdUno, al 2 cmdDos etc...
    2. Para el resultado TxtResultado (caja de texto a donde se ve el resultado)
  2.  En la propiedad caption de cada objeto escribir el valro que representa.
    1. Ejemplo a 1 escriba 1en el caption
  3. Asignarle codigo
III Parte crear una macro
  1. Crear nuevo macro con el nombre: "Calculadora"
  2. Escribir dentro del codigo lo siguiente
     sub calculadora
        frmCalculadora.show
    end sub

     3. Asignar la macro a un boton desde excel (Hay que insertar previamente un Boton de formulario)


IV Parte. Codigo para los botones(0,1..9)


Código del Botón CmdUno_click( )

Private sub CmdUno
   txtResultado.text=txtResultado.text+"1"
End Sub

Seguir la misma logica para todos los números...

V. Parte. Para  los botones de +,-,/,* , =,CE, C

Escribir hasta Arriba lo siguiente:

Dim x,y as single
Dim operacion as string


Sub CmdCE
   txtResultado.text=""
End Sub

Sub CmdC
   txtResultado.text=""

End Sub

'boton de suma , seguir misma logica para multiplicacion y resta
private sub cmdMas
  x=txtresultado.text
  operacion="suma"
  txtresultado.text="" 'doble comillas juntas
end sub

'boton de division

private sub cmddivision
  x=txtresultado.text
  operacion="division"
  txtresultado.text="" 'doble comillas juntas
end sub

'boton del igual

private sub cmdIgual
 y=txtresultado.text
 if operacion="suma" then txtresultado.text=Cint(x) + Cint(y)
 if operacion="resta" then txtresultado.text=Cint(x) - Cint(y)
 if operacion="multiplicacion" then txtresultado.text=Cint(x) * Cint(y)
 if operacion="division" then txtresultado.text=Csng(x) / Csng(y)
End Sub










4 comentarios: