Page 1

PROGRAMACIÓN ORIENTADA A OBJETOS Objetivos: Objetivos: Realiza Realizaprogramas programasen eneleleditor editorVisual VisualBasic Basicutilizando utilizandolas lasprincipales principales funciones funcionesINPUTBOX. INPUTBOX. 1.1. PROGRAMACIÓN ORIENTADA A OBJETOS Estructuras condicionales , Macros en Excel. Estructuras condicionales, Macros en Excel. La programación orientada a objetos significa que el programador trabaja con objetos fabricados por el mismo, es decir que el crea las clases para luego crear objetos a partir de ellas. En Excel utilizaremos objetos ya definidos como son (WorSheets, Range, …) 1.2. EDITOR DE VISUAL BASIC El editor de visual basic es la aplicación que utilizaremos para construir las macros que interactúan junto con los libros de trabajo. 1.3. PREPARAR UN ARCHIVO NUEVO 1. Programador. 2. Grupo código: Visual Basic.(alt - F11) 1.4. INSERTAR UN NUEVO MÓDULO 1. Insertar 2. Módulo 1.5. INSERTAR UN PROCEDIMIENTO Un procedimiento es una secuencia de instrucciones de código que sirven para llevar a cabo alguna tarea específica. Un procedimiento siempre empieza con la instrucción Sub Nombre_Procedimiento y termina con la instrucción End Sub Ejemplo 01 Sub Primero Range("C3").Value="Colegio de Contadores" End Sub 1.6. EJECUTAR UN PROCEDIMIENTO O FUNCIÓN Con la tecla F5 o en la barra de menús Ejecutar/Ejecutar Sub Userform Ejemplo 02

1


Escribimos en la casilla A1 "Colegio de contadores", colocamos negrita y le damos el color al texto, utilizando la opción Bold y Color del objeto Font. 

True: Indica que la propiedad Bold está activada, si deseamos desactiva

colocamos False. 

La función RGB(Red, Green, Blue): Establece el color de la propiedad, los tres

argumentos son valores del 0 al 255 que corresponde a la intensidad de los colores Rojo, verde y azul. Sub Segundo() ActiveSheet.Range("A1").Value = "Colegio de Contadores" ActiveSheet.Range("A1").Font.Bold = True ActiveSheet.Range("A1").Font.Color = RGB(255, 0, 0) End Sub 1.7. VARIABLES El ingreso de la información será a través del teclado y ese valor lo guardaremos en una casilla. DIM variable AS tipo Variable: El nombre que se le asigna. Tipo: Es el tipo de dato si es números, texto, fecha, boleanos, . . . Ejemplo: La variable será de tipo String: Dim Texto As String 1.8. FUNCIÓN INPUTBOX Muestra una ventana para que el usuario pueda teclear datos. Al pulsar "Aceptar" los datos pasan a la variable. Texto=InputBox("Introduzca el texto", "Entrada de datos") Ejemplo 03: Sub Segundo() Dim Texto As String Texto = InputBox("Introducir un texto" & Chr(13) & "Para la casilla A1", "Entrada de datos")

ActiveSheet.Range("A1").Value = Texto End Sub EJEMPLO 04:

2


Realizar un programa que efectúe la suma de dos números que se ingresa desde teclado Sub sumatoria() Dim c As Integer Dim d As Integer Dim e As Integer c = InputBox("ingrese mensaje" & Chr(13) & "casilla a1", "entrar datos") ActiveSheet.Range("A1").Value = c ' ActiveSheet.Range("A1").Font.Color = RGB(255, 0, 0) d = InputBox("ingrese mensaje" & Chr(13) & "casilla a2", "entrar datos") ActiveSheet.Range("A2").Value = d e=c+d ActiveSheet.Range("A3").Value = e End Sub 1.9. ESTRUCTURAS CONDICIONALES Son instrucciones de programación que permiten controlar la ejecución de una condición. INSTRUCCIÓN IF. . . THEN. . . ELSE IF condición THEN instrucción 1 ELSE instrucción 2 Ejemplo 05: Sub condicional() ActiveSheet.Range("A1").Value = 0 ActiveSheet.Range("A2").Value = 0 ActiveSheet.Range("A3").Value = 0 ActiveSheet.Range("A1").Value = Val(InputBox("Entrar el precio", "Entrar")) If ActiveSheet.Range("A1").Value > 10 Then ActiveSheet.Range("A2").Value = Val(InputBox("Entrar descuento", "Entrar")) End If ActiveSheet.Range("A3").Value

=

ActiveSheet.Range("A1").Value

-

ActiveSheet.Range("A2").Value End Sub Ejemplo 06: Option Explicit Sub condicional() 3


Dim precio As Integer Dim Descuento As Integer precio = 0 Descuento = 0 precio = Val(InputBox("Entrar el precio", "Entrar")) If 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 1.10.

MACROS EXCEL 1. ¿QUÉ ES UNA MACRO? Es un conjunto de instrucciones que permiten automatizar procesos. 2. OBJETOS, PROPIEDADES Y MÉTODOS Debemos tener claros algunos conceptos de lo que se conoce como la programación orientada a objetos(OOP). 2.1.

Objeto: Un objeto se le llama clase, así la clase "coche" representaría a todos los autos del mundo, mientras que el objeto auto sería un "coche" concreto. Por tanto la clase "coche" define cualquier objeto real de cuatro ruedas, de un motor, un chasis.

2.2.

Propiedades: Todo objeto tiene características o propiedades como por ejemplo el color, la forma, peso, medida, etc. Estas propiedades se definen en la clase y luego se particularizan en cada objeto. Por tanto en la clase "coche" se podría definir las propiedades color, ancho y largo, luego al definir un objeto concreto como coche ya se particularizarían estas propiedades. Por ejemplo, color=rojo, ancho=2 metros y largo =3.5 metros.

2.3.

Métodos: Cada objeto realiza acciones o tienen comportamientos, por ejemplo el objeto coche es la de moverse o trasladarse de un lugar a otro. En la clase coche se definirán en el método mover todos los procesos necesarios para llevarlo a cabo (los procesos para desplazar de un punto inicial a un punto final).

Los objetos en Excel como WorkSheet (objeto hoja de cálculo) o Range (objeto casilla o rango de casillas) 4


El objeto Range está definido por una clase donde se definen sus propiedades, una propiedad es una característica modificable o no, de un objeto. Objeto: Range. Propiedades de Range: Value que contiene el valor de la casilla, column y Row que contiene respectivamente la fila y la columna de la casilla, Font que contiene la fuente de los caracteres que muestra la casilla, etc. Metodos de Range son: Activate hace activa una celda, clear borra el contenido de una celda, copy copia el contenido de la celda o rango de celdas en el portapapeles, etc. PRÁCTICA DIRIGIDA PROGRAMAS PARA EL CÁLCULO DE ÁREAS Ejemplo 01 Sub área_cuadrado() Dim n As String Dim a As String n = Val(InputBox("ingresar el valor" & Chr(13) & "para A1", "entrada")) ActiveSheet.Range("A1").Value = n a=n*n ActiveSheet.Range("A2").Value = a End Sub Ejemplo 02 Sub raiz_cuadrada() Dim n As Double Dim a As Double n = Val(InputBox("ingresar el valor" & Chr(13) & "para A3", "entrada")) ActiveSheet.Range("A3").Value = n a = n ^ (1 / 2) ActiveSheet.Range("A4").Value = a End Sub Ejemplo 03 Sub área_rectángulo() Dim m As String Dim n As String 5


Dim a As String n = Val(InputBox("ingresar el largo")) m = Val(InputBox("ingresar el ancho")) ActiveSheet.Range("A1").Value = m ActiveSheet.Range("A2").Value = n a=n*m ActiveSheet.Range("A3").Value = a End Sub Ejemplo 04 Programa que calcula la hipotenusa de de un triรกngulo rectรกngulo Sub hipotenusa() Dim a As String Dim b As String Dim c As String a = Val(InputBox("ingresar el cateto opuesto")) b = Val(InputBox("ingresar el cateto adyacente")) ActiveSheet.Range("A1").Value = a ActiveSheet.Range("A2").Value = b c = (a ^ 2 + b ^ 2) ^ (1 / 2) ActiveSheet.Range("A3").Value = c End Sub

6


1. En rango de entrada seleccionamos las celdas que aparecerán en la lista desplegable. 2. En vincular con la celda seleccionamos una celda de la hoja de cálculo. COMO COMBINAR UN BOTON DE FORMULARIO CON LA FUNCIÓN CONSULTAV De acuerdo al ejemplo anterior utilizar la función CONSULTAV y el formulario para generar consultas.

MACROS EN EXCEL Código 125 126 127 129 130 131

Nombre Juan María Estefanía Luis Roberto Carmen

Asistencia 6 8 8 9 2 6

NOTA 14 12 13 18 18 14

Deseamos ocultar la columna nota la rutina sería: 1. Nos ubicamos en una celda de la columna nota. 2. Inicio, formato, ocultar y mostrar, ocultar columnas. Para realizarlo con macros hacemos lo siguiente: 1. Ficha programador. 2. Grabar macro. 3. En método abreviado presionar la tecla Shift y la letra O, acpetar y realizar el procedimiento. 4. Una vez finalizado el procedimiento detener la grabación.

7


Sub Inicio() 'Ejemplo de procedimiento MsgBox "Amigo lector, Bienvenido" & vbLf _ & "Te recuerdo la hora:" & Time End Sub

Sub cmdInfo_click() 'Invoca el procedimiento anterior Inicio End Sub

8


9


EJEMPLO DE UN SISTEMA CONTABLE

10


=SI(B5="","",SI(ESERROR(+CONSULTAV(B5,MAESTRO,6,0)),"numero de cuenta incorrecto",+CONSULTAV(B5,MAESTRO,6,0)))

=SI(B5="","",SI(VALOR(IZQUIERDA(B5,1))>3,SI(C5="","INGRESAR CECO",SI(ESERROR(+CONSULTAV(C5,DATOSM,4,0)),"CECO INCORRECTO", +CONSULTAV(C5,DATOSM,4,0))))) RUBRO =SI(B5="","",+CONSULTAV(B5,DATOSM,7,))

=SI(B5="","",+CONSULTAV(B5,DATOSM,11,)) CONSISTENCIA E INCONSISTENCIA =SI(B5="","",+SI(O(Y(D5="D",G5>0,H5=0),Y(D5="H",H5>0,G5=0)),"OK",SI(Y(G5+H5>0,D5=""),"INDICAR D/H","INCONSISTENCIA")))

CORRECTO =SI(+CONTAR.SI(E5:E14,"NÚMERO DE CUENTA INCORRECTO")=0,"CORRECTO","ERROR") =SI(+CONTAR.SI(F5:F14,"ingresar ceco")+CONTAR.SI(F5:F14,"CECO INCORRECTO")=0,"CORRECTO","ERROR") =SI(G17-H17=0,"correcto",+G17-H17)

CÓDIGOS DEL SISTEMA CONTABLE

CONTABILIZAR EL ASIENTO

11


Sub acumular()

NRO_ASIENTO = Range("A5").Value

Dim NRO_ASIENTO

MsgBox ("Se ha contabilidado el asiento nĂşmero" & NRO_ASIENTO)

If Range("H18") = "Asiento correcto" Then

Range("A5").Value = NRO_ASIENTO + 1

Range("A5:H14").Select

Range("G5:H14,B5:D14").Select

Selection.Copy

Selection.ClearContents

Range("B5000").Select

Range("B5").Select

Selection.End(xlUp).Select

Else

Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False

MsgBox ("Existen errore en la carga del a siento, por favor verificar")

Application.CutCopyMode = False

End If End Sub

Range("B5").Select

12


13

texto  

texto desplegable

Read more
Read more
Similar to
Popular now
Just for you