Ir al contenido principal

Variables y Tipos de datos - Macros en Excel

Las variables son útilies en la creación de Macros. Son de nuestro especial interés cuando deseamos desarrollar formulas personalizadas (User Defined Formulas). Para introducirnos en el tema de la creación de formulas, necesitamos reconocer los tipos de datos existentes y tener la capacidad de utilizarlos. A continuación se presenta una tabla con los tipos de datos y la capacidad de almacenamiento según el tipo.



Cada de uno de estos tipos de datos deben usarse en concordancia con el objetivo de la macro. El siguiente ejercicio muestra el uso de variables tipo entero (integer):


Entrar una cantidad que representa el precio de algo por el teclado con la instrucción InputBox y
guardarlo en la celda A1 de la hoja activa. Si el valor entrado desde el teclado (y guardado en A1) es superior a 1000, pedir descuento con otro InputBox y guardarlo en la casilla A2 de la hoja activa.
Calcular en A3, el precio de A1 menos el descuento de A2.

Sub variables1()

Dim Precio As Integer     'Variables tipo entero
Dim Descuento As Integer
Precio = 0
Descuento = 0
Precio = Val(InputBox("Entrar el precio", "Entrar"))
 
'Si el valor de la variable precio NO es menor igual 1000, entonces, pedir descuento
If Not (Precio <= 1000) Then
      Descuento = Val(InputBox("Entrar Descuento", "Entrar"))
End If

ActiveSheet.Range("A1").Value = Precio
ActiveSheet.Range("A2").Value = Descuento
ActiveSheet.Range("A3").Value = Precio - Descuento
 
End Sub


Un ejercicio más con variables tipo texto y single (numero real):

Entrar el Nombre, la cantidad y el precio de un producto desde el teclado y guardarlos respectivamente en A1, A2 y A3. Calcular el total y guardarlo en A4. Si el total es superior a 10.000 o el nombre del producto el "Patatas", pedir un descuento, calcularlo el total descuento y guardarlo en A5, luego restar el descuento del total y guardarlo en A6. 

Sub variables2()

Dim Producto As String             'Variables tipo texto
Dim Cantidad As Integer
Dim Precio As Single                 'Variables tipo sigle
Dim Total As Single
Dim Descuento As Single
Dim Total_Descuento As Single

Precio = 0
Producto = InputBox("Entrar Nombre del Producto","Entrar")
Precio = Val(InputBox("Entrar el precio", "Entrar"))
Precio = Val(InputBox("Entrar la cantidad", "Entrar"))
Total = Precio * Cantidad
 
With ActiveSheet
          .Range("A1").Value = Producto
          .Range("A2").Value = Precio
          .Range("A3").Value = Cantidad
          .Range("A4").Value = Total
End With

' Si total mayor que 10.000 o el producto es Patatas, aplicar descuento.
If Total > 10000 Or Producto = "Patatas" Then
          Descuento = Val(InputBox("Entrar Descuento", "Entrar"))
         Total_Descuento = Total * (Descuento / 100)
         Total = Total - Total_Descuento
         With ActiveSheet
               .Range("A5").Value = Total_Descuento
               .Range("A6").Value = Total
         End With
End If

End Sub 


Los ejercicios publicados como ejemplo fueron tomados de http://www.cybercursos.net/

Comentarios

Publicar un comentario

Entradas más populares de este blog

Letras separadas en una presentación de Power Point 2010

Recientemente realicé algunas pruebas con impresora matriz de punto, días después comencé a notar que al abrir presentaciones de Power Point 2010, el texto separaba las letras demasiado. Inicialmente pensé que era incompatibilidad de versiones. Luego al abrir presentaciones que había elaborado tiempo atrás verfique que ocurría lo mismo. Decidí investigar y encontré que cuando una impresora matríz de punto está por defecto, las presentaciones de Power Point 2010 modifican el espacio entre letras desconfigurándolas por completo. La solución fue seleccionar como predeterminada una impresora de tinta, si no tiene impresora de tinta se puede seleccionar la impresora que instala One Note 2010.

Bloquear Msn en Endian Firewall Community release 2.3.0

Bloquear Messenger es una de las tareas tediosas para un administrador de red. Es por eso que al configurar un Proxy con Endian, quiero dejar por escrito como hacerlo. 1. En la pestaña Firewall en el submenu Outgoing Trafic, se debe denegar todo el trafico de la interfaz GREEN = LAN, servicio MSN Messenger, protocolo TCP, puerto 1863. Se coloca la regla al incio de la tabla de reglas. 2. En la pestaña Proxy HTTP, en el submenu Access Policy se crea una regla de acceso como denegacion y en el campo Mimetypes se coloca la siguiente cadena ^application/x-msn-messenger. 3. Guardar la configuración. 4. A soportar palabras poco agradables por parte de sus compañeros de sus compañeros.

Instalar Impresora Epson Lx-300+ en Ubuntu 9.1 Karmic

Gracias al poderoso Google encontre la solución para instalar las impresoras Epson LX-300+ en Ubuntu 9.1. Es bien sencillo, por Sistema->Administración->Impresoras Agregar una nueva impresora, impresora en el puerto lpt(Puede aparecer como desconocida) Una vez ahi se da adelante y luego en el listado de impresoras se selecciona la IBM-ProPrinterII y se termina el asistente con una pagina de prueba donde nos imprime correctamente.