Logo Studenta

Funciones personalizadas

¡Este material tiene más páginas!

Vista previa del material en texto

Capítulo 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Funciones personalizadas 
 
 
En este capítulo trataremos: 
 
 
 
 
 
 Creación de funciones personalizadas con VBA 
 Uso de controles ActiveX 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
SENATI-Computación e Informática 229 
 
 
 
 
 
 
ersonalizas 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Uso de módulos para Funciones 
 
Los módulos permiten dividir un programa muy grande en partes mucho más pequeñas 
y manejables. 
 
La división de un programa en unidades más pequeñas o funciones presenta –entre 
otras– las ventajas siguientes: 
 
Ventajas 
 
1. Modularización 
 
Cada función tiene una misión muy concreta, de modo que nunca tiene un 
número de líneas excesivo y siempre se mantiene dentro de un tamaño 
manejable. 
 
Una misma función puede ser invocada muchas veces en un mismo programa, 
e incluso puede ser reutilizada por otros programas. Cada función puede ser 
desarrollada y comprobada por separado. 
 
2. Ahorro de memoria y tiempo de desarrollo 
 
En la medida en que una misma función es utilizada muchas veces, el número 
total de líneas de código del programa disminuye, y también lo hace la 
probabilidad de introducir errores en el programa. 
 
3. Independencia de datos y ocultamiento de información. 
 
Una de las fuentes más comunes de errores en los programas de computador 
son los efectos colaterales o perturbaciones que se pueden producir entre 
distintas partes del programa. 
 
 
 
Es muy frecuente que al hacer una modificación para añadir una funcionalidad o 
corregir un error, se introduzcan nuevos errores en partes del programa que antes 
funcionaban correctamente. 
 
Características 
 
Una función es capaz de mantener una gran independencia con el resto del 
programa, manteniendo sus propios datos y definiendo muy claramente la 
interfaz o comunicación con la función que la ha llamado y con las funciones a 
las que llama, y no teniendo ninguna posibilidad de acceso a la información que 
no le compete. 
 
La principal característica de una función es que ésta puede ser utilizada en una 
expresión porque tiene un valor de retorno. 
 
 
 
La sintaxis correspondiente a una función es la siguiente: 
 
Function nombre ([parámetros]) [As tipo] 
 
[sentencias] 
 
[nombre = expresion] 
 
[Exit Function] 
 
 
 
SENATI-Computación e Informática 231 
 
 
 
 
 
Microsoft Office 
 
 
 
 
 
 
 
 
 
 
Excel 2007 
 
 
[sentencias] 
 
[nombre = expresion] 
 
End Function 
 
 
 
A continuación se describe en un cuadro los elementos de la función 
 
 
NOMBRES 
 
FUNCION 
 
nombre 
 
Define el nombre de la función 
 
Parámetros 
 
Son los argumentos que son pasados cuando se llama a la función. 
 
As Tipo 
 
Define el tipo de dato que devuelve la función, pueden ser: 
 
Boolean Lógico, devuelve dos valores True o False. 
 
Numéricos Byte, Integer, Single, Double 
 
String Aceptar caracteres alfanuméricos de Desde 1 a 65.400 
aproximadamente 
 
Variant Cualquier valor numérico, String. 
 
Sentencias 
 
Es el código del programa en VBA. 
 
expresión 
 
Valor de retorno de la función 
 
Exit Function 
 
Permite salir de una función antes de que ésta finalice. 
 
End Function 
 
Marca el final del código de la función. 
 
 
 
Uso de argumentos en las funciones 
Los argumentos son los parámetros que se pasan a la función. 
 
 
 
Argumentos opcionales 
 
Se puede especificar argumentos opcionales. 
 
Cuando un argumento es opcional y en la llamada es omitido, el valor que se le pasa es 
un Variant con valor Empty. A los argumentos opcionales se les puede dar en la 
definición de la función un valor por defecto para el caso en que sean omitidos en la 
llamada, como por ejemplo: 
 
 
Function AREAT(base As integer, altura As integer, Optional n As Integer) 
 
AREAT=base * altura / 2 
 
End Sub 
 
 
 
 
232 SENATI-Computación e Informática 
 
 
 
 
 
 
ersonalizadas 
 
 
 
 
 
 
 
 
 
 
 
 
Argumentos arreglos 
 
Para utilizar argumentos Array utilice la palabra ParamArray en la definición del 
procedimiento, como por ejemplo: 
 
 
Public Function maximo(ParamArray numeros()) 
 
For Each x in numerous 
 
Sentencias 
maximo = x 
Next x 
End Function 
 
 
 
Ejecutar una función 
Para ejecutar una función utilice la siguiente sintaxis: 
 
 
 
= nombre([argumentos]) 
 
 
 
Donde argumentos son una lista de constantes, variables o expresiones separadas por 
comas que son pasadas a la función. 
 
En principio, el número de argumentos debe ser igual al número de parámetros de la 
función. 
 
Los tipos de los argumentos deben coincidir con los tipos de sus correspondientes 
parámetros, de lo contrario puede haber fallos importantes en la ejecución del 
programa. 
 
En cada llamada a una función hay que incluir los paréntesis, aunque ésta no tenga 
argumentos. 
 
El siguiente ejemplo corresponde a una función que devuelve como resultado la raíz 
cuadrada de un número N: 
 
 
Function Raiz (N As Double) As Double 
If N < 0 Then 
Exit Function 
Else 
Raiz = Sqr(N) 
 
End If 
End Function 
 
La llamada a esta función se hace de la forma siguiente: 
 
 
= Raiz(4) 
 
 
 
 
SENATI-Computación e Informática 233 
 
 
 
 
 
Microsoft Office 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Excel 2007 
 
 
Recursividad 
 
Se dice que una función 
(Function) es recursiva si se 
llaman a sí mismos. 
 
 
A continuación se presenta 
una ejemplo de una función 
que calcula el factorial de un 
número programada de 
forma recursiva. 
 
 
 
„Cálculo de Factorial 
 
Function Fact (N As Integer) As Long 
 
If N = 0 Then Fact = 1 Else Fact = N * Factorial (N - 1) 
 
End Function 
 
 
En este ejemplo, si la variable N que se le pasa a la función vale 0, significará 
que se ha llegado al final del proceso, y por tanto se le asigna el valor 1 al valor 
del factorial (recordar que 0! = 1). Si es distinto de 0, la función se llama a ella 
misma, pero variando el argumento a (N-1), hasta llegar al punto en el que N- 
1=0, finalizándose el proceso. 
 
 
Para invocar a la función utilice =FACT(6) 
 
 
Paso a Paso: Crear la función área del triangulo 
 
1. Realizar una función que permita calcular el área del triángulo. 
 
2. AREAT = ( B x H ) / 2 
 
3. Hacer clic en la ficha , botón 
 
4. Hacer clic en el menú , botón 
 
Function AREAT(base As integer, altura As integer, Optional n As Integer) 
 
AREAT=base * altura / 2 
 
End Sub 
 
5. Cerrar el Editor de VBA 
 
6. Estando en Excel, Diseñar la siguiente hoja 
 
 
7. En la celda B5 escribir la función: =AreaT (B3,B5) 
 
 
 
234 SENATI-Computación e Informática 
 
 
 
 
 
 
ersonalizadas 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Controles Active X 
 
Veamos veremos una serie de controles que le pueden brindar interactividad a nuestras 
aplicaciones Excel 
 
Los Controles ActiveX son objetos gráficos que se colocan en un formulario 
(userforms) o en una determinada posición de la hoja de trabajo, con el objetivo de 
mostrar, seleccionar o introducir (capturar) datos, para la realización de una acción 
determinada (ej. ejecución de una macro) o para facilitar la lectura de un formulario. 
 
Estos objetos pueden consistir por ejemplo en cuadros de texto, cuadros de lista 
(ComboBox), botones de opciones, casillas de verificación, botones de comandos, 
barras de desplazamiento u otros elementos. 
 
A continuación se describe los Controles 
 
 
1. Cuadro de Texto 
 
Un Cuadro de Texto nos permite capturar información, la cual puede ser 
numérica, alfabética o alfanumérica. 
 
 
 
2. Botón de Comando 
 
Este tipo de control es unode los más conocidos. Entre otras cosas, este control 
nos permite por ejemplo la ejecución de una macro, o marcar el inicio de la 
realización de una determinada actividad previamente asignada o programada. 
 
 
3. Casilla de Verificación 
 
Una casilla de verificación es utilizada normalmente para capturar información 
previamente estructurada. Normalmente se presentan en grupos y es posible 
seleccionar más de una opción. 
 
 
 
4. Botón de Opción 
 
Un botón de opción en general presenta las misma características que un grupo 
de casillas de verificación, sólo que en este caso no es posible seleccionar más de 
una opción. 
 
5. Cuadro Combinado 
 
Su utilización es recomendable cuando la lista de opciones es bastante extensa. 
Inclusive puede ser configurado para que mostrar un cierto número de opciones 
solamente, debiendo desplazarse el usuario con la barra de desplazamiento que se 
generará automáticamente para buscar las otras opciones no visualizadas. 
 
 
6. Cuadro de Lista 
 
Un cuadro de lista contiene una lista de los elementos que pueden ser 
seleccionados. En términos generales es prácticamente lo mismo que un cuadro 
 
 
 
 
SENATI-Computación e Informática 235 
 
 
 
 
 
Microsoft Office 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Excel 2007 
 
 
combinado, sólo que no posee el menú desplegable, sino que es necesario 
desplazarse a través de él con el cursor. 
 
 
 
7. Botón o Control de Número 
 
Este control puede ser usado para aumentar o disminuir el valor de un 
determinado parámetro o celda vinculada. Cuenta con dos flechas, una hacia 
arriba y otra hacia abajo, o una hacia la derecha y otra hacia la izquierda. Al 
presionar alguna de ellas aumentará o disminuirá el valor según corresponda. 
 
 
 
8. Botón de Alternar 
 
Este botón puede ser utilizado para que el usuario seleccione o no una 
determinada característica, ya que este control tiene la ventaja de que una vez 
seleccionado permanece seleccionado, devolviendo el valor de Verdadero o Falso 
según corresponda. Este botón además puede ser vinculado a una determinada 
celda, en la cual devolverá el valor lógico anteriormente mencionado (verdadero 
o falso). 
 
 
 
Paso a Paso: Uso de control ActiveX - 1 
 
1. Diseñar una aplicación que muestre en un control ListBox1 los números pares y 
en un ListBox2 los números impares 
 
2. Hacer clic en la ficha , botón 
 
3. Hacer clic en el menú , botón y diseñar el formulario 
mostrado a continuación. 
 
 
 
 
 
236 SENATI-Computación e Informática 
 
 
 
 
 
 
ersonalizadas 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4. Hacer clic en el menú , botón y escriba el siguiente 
programa 
 
General Declaraciones 
Dim SumaImpar As Integer 
Dim SumaPar As Integer 
Dim cont As Integer 
 
 
Private Sub CommandButton1_Click() 
 
Randomize 
 
 
SW = 1 
 
cont = 1 
 
SumaImpar = 0 
 
SumaPar = 0 
 
ListBox1.Clear 
 
ListBox2.Clear 
 
For cont = 1 To 10 
 
If SW = 1 Then 
 
ListBox1.AddItem cont 
SumaImpar = SumaImpar + cont 
SW = 0 
Else 
 
ListBox2.AddItem cont 
SumaPar = SumaPar + cont 
SW = 1 
End If 
 
Next 
 
TextBox1.Text = SumaImpar 
TextBox2.Text = SumaPar 
End Sub 
 
 
Paso a Paso: Uso de control ActiveX - 2 
 
1. Diseñar una aplicación que permita ingresar los siguientes datos a controles 
TextBox: Nombres, Apellidos, Dirección, teléfono y suledo. El ingreso de 
datos debe ser consistenciado. Luego estos datos deben ser pasados a una 
grilla (Control FlexGrid). Calcular el total del sueldo. 
 
 
 
 
SENATI-Computación e Informática 237 
 
 
 
 
 
Microsoft Office 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Excel 2007 
 
 
 
 
 
2. Hacer clic en la ficha , botón 
 
3. Hacer clic en el menú , botón y diseñar el 
formulario mostrado a continuación. 
 
 
 
 
 
Hacer clic en el menú 
Herramientas, Controles 
adicionales para agregar el 
control FlexGrid a la caja 
de controles. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4. Hacer clic en el menú , botón . Edite el siguiente 
código 
 
Public Sub IngNum(KeyAscii As MSForms.ReturnInteger) 
 
If (KeyAscii = 8) Then Exit Sub 
 
If Not (KeyAscii >= Asc("0") And KeyAscii <= Asc("9")) Then KeyAscii = 0 
 
End Sub 
 
 
Public Sub IngNumTelf(KeyAscii As MSForms.ReturnInteger) 
 
If (KeyAscii = 8) Then Exit Sub 
 
If (KeyAscii = Asc("-")) Then Exit Sub 
 
If Not (KeyAscii >= Asc("0") And KeyAscii <= Asc("9")) Then KeyAscii = 0 
 
End Sub 
 
 
Public Function IngFechas(Fecha As Variant) As Boolean 
 
IngFechas = IsDate(Fecha) 
 
End Function 
 
 
 
238 SENATI-Computación e Informática 
 
 
 
 
 
 
ersonalizadas 
 
 
 
 
 
 
 
 
 
 
 
 
Public Sub IngCar(KeyAscii As MSForms.ReturnInteger) 
 
If (KeyAscii = 8) Then Exit Sub 
 
If (KeyAscii = 32) Then Exit Sub 
 
If (KeyAscii = Asc(".")) Then Exit Sub 
 
If (KeyAscii >= Asc("0") And KeyAscii <= Asc("9")) Then KeyAscii = 0 
 
Select Case KeyAscii 
 
Case Is >= Asc("A") And KeyAscii <= Asc("Z"): Exit Sub 
Case Is >= Asc("a") And KeyAscii <= Asc("z"): Exit Sub 
Case Is = Asc("á"): Exit Sub 
Case Is = Asc("é"): Exit Sub 
Case Is = Asc("í"): Exit Sub 
Case Is = Asc("ó"): Exit Sub 
Case Is = Asc("ú"): Exit Sub 
Case Else: KeyAscii = 0 
End Select 
 
End Sub 
 
 
 
5. Hacer clic en el menú , botón y escriba el siguiente 
programa 
 
 
 
General Declaraciones 
 
Dim FILA As Integer 
 
 
Private Sub CommandButton1_Click() 
 
TextBox1.Text = "" 
TextBox2.Text = "" 
TextBox3.Text = "" 
TextBox4.Text = "" 
TextBox5.Text = "" 
End Sub 
 
 
Private Sub CommandButton2_Click() 
 
FILA = FILA + 1 
 
MSFlexGrid1.Rows = MSFlexGrid1.Row + FILA 
MSFlexGrid1.TextMatrix(FILA, 1) = TextBox1.Text 
MSFlexGrid1.TextMatrix(FILA, 2) = TextBox2.Text 
 
 
SENATI-Computación e Informática 239 
 
 
 
 
 
Microsoft Office 
 
 
 
 
 
 
 
 
 
 
Excel 2007 
 
 
MSFlexGrid1.TextMatrix(FILA, 3) = TextBox3.Text 
 
MSFlexGrid1.TextMatrix(FILA, 4) = TextBox4.Text 
MSFlexGrid1.TextMatrix(FILA, 5) = TextBox5.Text 
Label7.Caption = Val(Label7.Caption) + Val(TextBox5.Text) 
Call CommandButton1_Click 
TextBox1.SetFocus 
 
End Sub 
 
 
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) 
 
Call IngCar(KeyAscii) 
 
End Sub 
 
 
Private Sub TextBox2_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) 
 
Call IngCar(KeyAscii) 
 
End Sub 
 
 
Private Sub TextBox3_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) 
 
Call IngCar(KeyAscii) 
 
End Sub 
 
 
Private Sub TextBox4_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) 
 
Call IngNumTelf(KeyAscii) 
 
End Sub 
 
 
Private Sub TextBox5_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) 
 
Call IngNum(KeyAscii) 
 
End Sub 
 
 
Private Sub UserForm_Activate() 
 
FILA = 0 
 
MSFlexGrid1.Cols = 6 
 
MSFlexGrid1.TextMatrix(0, 1) = Label1.Caption 
MSFlexGrid1.TextMatrix(0, 2) = Label2.Caption 
MSFlexGrid1.TextMatrix(0, 3) = Label3.Caption 
MSFlexGrid1.TextMatrix(0, 4) = Label4.Caption 
MSFlexGrid1.TextMatrix(0, 5) = Label5.Caption 
 
 
 
240 SENATI-Computación e Informática 
 
 
 
 
 
 
ersonalizadas 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
MSFlexGrid1.ColWidth(0) = 10 
 
MSFlexGrid1.ColWidth(1) = 2000 
 
MSFlexGrid1.ColWidth(2) = 2000 
 
MSFlexGrid1.ColWidth(3) = 2000 
 
MSFlexGrid1.ColWidth(4) = 800 
 
MSFlexGrid1.ColWidth(5) = 1000 
 
WindowState = 2 
 
End Sub 
 
 
 
Paso a Paso: Uso de control ActiveX - 3 
 
1. Diseñar una aplicación que permita mostrar el cuadro de desembolsos de un 
préstamo, dado a un determinado número de periodos y tasa de interés, 
aplicando el cálculo de la amortización con el método Alemán. Así mismo se 
debe dar consistenciaal ingreso de datos numéricos. 
 
2. Fórmulas a utilizar. 
 
Préstamo = Préstamo período anterior – Amortización 
 
Saldo = Saldo anterior – Amortización 
 
Interés = Saldo del período * Tasa de interés 
 
Cuota = Amortización + Interés 
 
3. Hacer clic en la ficha , botón 
 
4. Hacer clic en el menú , botón y diseñar el formulario 
mostrado a continuación. 
 
 
 
 
 
 
 
 
 
Hacer clic en el menú 
Herramientas, Controles 
adicionales para agregar el 
control FlexGrid a la caja 
de controles. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
SENATI-Computación e Informática 241 
 
 
 
 
 
Microsoft Office 
 
 
 
 
 
 
 
 
 
 
 
 
Excel 2007 
 
 
5. Hacer clic en el menú , botón y escriba el siguiente programa 
 
 
 
General Declaraciones „Permite dar consistencia al ingreso de datos numéricos 
 
Public Sub IngNumero(ByVal KeyAscii As MSForms.ReturnInteger) 
 
If (KeyAscii >= 48 And KeyAscii <= 56) Then 
 
Exit Sub 
 
Else 
 
KeyAscii = 0 
 
End If 
 
End Sub 
 
 
 
Si el carácter ingresado 
no es número, se impide 
el ingreso del caracter 
Ascii 48 =0 
 
Ascii 57 = 9 
 
 
 
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) 
 
Call IngNumero(KeyAscii) 
 
End Sub 
 
 
Private Sub CommandButton1_Click() 
 
Dim xcapital As Single 
Invoca al procedimiento IngNumero 
 
Dim xinteres As Single 
Dim xperiodos As Single 
Dim xamortiza As Single 
Dim xpa As Single 
 
 
xcapital = Val(TextBox1.Text) 
xinteres = Val(TextBox2.Text) 
xperiodos = Val(TextBox3.Text) 
xamortiza = xcapital / xperiodos 
Declarar las variables a utilizarse 
 
 
 
 
 
Asigna datos a las variables 
 
 
 
 
 
Asigna como No.de 
filas del control 
FlexGrid, el número 
de periodos 
 
 
MSFlexGrid1.Rows = Val(TextBox3.Text) + 1 
 
For f = 1 To Val(TextBox3.Text) 
MSFlexGrid1.TextMatrix(f, 1) = f 
MSFlexGrid1.TextMatrix(f, 2) = xamortiza 
If f = 1 Then 
MSFlexGrid1.TextMatrix(f, 3) = xcapital 
 
Else 
 
 
Crea un ciclo 
repetitivo de 1 hasta 
el No. de periodos 
 
MSFlexGrid1.TextMatrix(f, 3) = xpa - xamortiza 
 
End If 
 
 
 
242 SENATI-Computación e Informática 
 
 
 
 
 
 
ersonalizadas 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
xpa = Val(MSFlexGrid1.TextMatrix(f, 3)) 
 
MSFlexGrid1.TextMatrix(f, 4) = xpa * (xinteres / 100) 
 
 
 
 
 
 
 
Next 
xi = Val(MSFlexGrid1.TextMatrix(f, 4)) 
 
MSFlexGrid1.TextMatrix(f, 5) = xamortiza + xi 
 
End Sub 
 
 
Private Sub TextBox2_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) 
 
Call IngNumero(KeyAscii) 
 
End Sub 
Invoca al procedimiento IngNumero 
 
 
 
Private Sub TextBox3_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) 
 
Call IngNumero(KeyAscii) 
 
End Sub 
 
 
Private Sub UserForm_Activate() 
 
MSFlexGrid1.Cols = 6 
 
MSFlexGrid1.TextMatrix(0, 1) = "No." 
Invoca al procedimiento IngNumero 
 
 
Asigna la cantidad de filas 
para el FlexGrid. 
 
MSFlexGrid1.TextMatrix(0, 2) = "Amortización" 
MSFlexGrid1.TextMatrix(0, 3) = "Saldo" 
MSFlexGrid1.TextMatrix(0, 4) = "Interés" 
MSFlexGrid1.TextMatrix(0, 5) = "Cuota" 
End Sub 
 
 
 
 
Paso a Paso: Uso de control ActiveX - 4 
 
1. Diseñar una aplicación que permita asignara puntajes al azar a 10 
participantes a un concurso de belleza, se evalúan por 4 criterios: Belleza, 
inteligencia, cuerpo, desenvolvimiento. Los puntajes están entre 1 y 10 por 
cada criterio. Al final mostrar el número de la participante ganadora y su 
puntaje 
 
2. Hacer clic en la ficha , botón 
 
 
 
 
 
SENATI-Computación e Informática 243 
 
 
 
 
 
Microsoft Office 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Excel 2007 
 
 
3. Hacer clic en el menú , botón y diseñar el 
formulario mostrado a continuación. 
 
 
 
 
 
 
 
 
 
Control ListBox1 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4. Hacer clic en el menú , botón y escriba el siguiente 
programa 
 
 
 
General Declaraciones 
 
Dim numpart As Integer 
Dim numcrit As Integer 
Dim PtjeMax As Integer 
Dim PtjeMin As Integer 
Dim Puntaje(12, 4) As Integer 
 
Dim total(12) As Integer 
 
 
Private Sub CommandButton1_Click() 
 
ListBox1.Clear 
Randomize 
ScaleMode = 3 
 
'Generación de los puntajes aleatorios 
 
For candidata = 1 To 12 
 
 
 
244 SENATI-Computación e Informática 
 
 
 
 
 
 
ersonalizadas 
 
 
 
 
 
 
 
 
 
 
 
 
For criterio = 1 To 4 
 
Puntaje(candidata, criterio) = Int((10 - 5 + 1) * Rnd + 5) 
Next 
Next 
 
 
 
'Determinar el puntaje total por participante 
 
For contpart = 1 To 12 
 
total(contpart) = 0 
 
For contcrit = 1 To 4 
 
total(contpart) = total(contpart) + Puntaje(contpart, contcrit) 
Next 
Next 
 
 
 
For contpart = 1 To 12 
 
registro = registro + "Concursante No. " & Right(("0" + Trim(Str(contpart))), 2) + " " 
 
For contcrit = 1 To 4 
 
registro = registro + Right(("0" + Trim(Str(Puntaje(contpart, contcrit)))), 2) + " " 
 
Next 
 
ListBox1.AddItem registro + Str(total(contpart)) 
 
registro = "" 
Next 
 
 
'Determinar mayor puntaje total 
 
mayor = 0 
 
numero = 0 
 
For contpart = 1 To 12 
 
If total(contpart) > mayor Then 
mayor = total(contpart) 
numero = contpart 
End If 
 
Next 
 
TextBox1.Text = numero 
TextBox2.Text = mayor 
End Sub 
 
 
 
SENATI-Computación e Informática 245 
 
 
 
 
 
Microsoft Office 
 
 
 
 
 
 
 
 
 
 
Excel 2007 
 
 
 
Cuestionarios 
 
 
 
1. Qué es una función. 
 
 
 
 
 
 
 
2. Qué es un Control Active X. 
 
 
 
__ 
 
 
 
3. Considera útil la creación de funciones personalizadas. 
 
 
 
 
 
 
 
4. Crear una función que permite determinar si un año es bisiesto. 
 
 
 
 
 
 
 
5. Crear una función que permita determinar la edad de una persona. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
246 SENATI-Computación e Informática

Continuar navegando