Está en la página 1de 28

COMPUTACION I

MACROS 2da Parte


CREAR FUNCIONES PERSONALIZADAS
 Ejemplo
Function NumSigno(num)
Select Case num
Case Is < 0
NumSigno = "Negativo"
Case 0
NumSigno = "Cero"
Case Is > 0
NumSigno = "Positivo"
End Select
End Function
IMPLEMENTACIÓN
2 1

3
Presionar el
botón derecho
del Mouse
IMPLEMENTACIÓN
IMPLEMENTACIÓN
If...Then...Else (Instrucción)
 Ejecuta condicionalmente un grupo de
instrucciones, dependiendo del valor de una
expresión.
 Sintaxis
 If condición Then
[instrucciones]
 [ElseIf condición-n Then
[instrucciones_elseif] ...
 [Else
[instrucciones_else]]
 End If
If...Then...Else (Instrucción)
Parte Descripción
condición Requerido. Uno o más de los siguientes dos tipos de expresiones:

Una expresión numérica o expresión de cadena que puede ser


evaluada como True o False. Si condición es Null, condición se
considera False.

instrucciones Opcional en formato de bloque; se requiere en formato de línea


sencilla que no tenga una cláusula Else. Una o más instrucciones
separadas por dos puntos ejecutados si la condición es True.
If...Then...Else (Instrucción)
Parte Descripción
condición-n Opcional. Igual que condición .
instrucciones_elseif Opcional. Una o más instrucciones ejecutadas si la condición-n
asociada es True.

instrucciones_else Opcional. Una o más instrucciones ejecutadas si ninguna de las


expresiones anteriores condición o condición-n es True.
Select Case (Instrucción)
 Ejecuta uno de varios grupos de
instrucciones, dependiendo del valor de una
expresión.
 Sintaxis
 Select Case expresión_prueba
[Case lista_expresion-n
[instrucciones-n]] ...
[Case Else
[instrucciones_else]]
 End Select
Select Case (Instrucción)
Parte Descripción
expresión_prueba Requerido. Cualquier expresión numérica o expresión de cadena.
lista_expresión-n Requerido si aparece la palabra clave Case. Lista delimitada por comas
de una o más de las formas siguientes: expresión , expresión To
expresión , Is expresión operador_de_comparación . La palabra clave
especifica un intervalo de valores. Si se utiliza la palabra clave To, el
instrucciones-n valor menor
Opcional. Una debe aparecer
o más antes de
instrucciones To. Utilicesilaexpresión_prueba
ejecutadas palabra clave Is con
coincide con cualquier parte de lista_expresión-n.

instrucciones_else Opcional. Una o más instrucciones que se ejecuten si expresión_prueba


no coincide con nada de la cláusula Case.
For...Next (Instrucción)
 Repite un grupo de instrucciones un número
especificado de veces.
 Sintaxis

◦ For contador = principio To fin [Step incremento]


[instrucciones]
[Exit For]
[instrucciones]
◦ Next [contador]
For...Next (Instrucción
Parte Descripción
contador Requerido. Variable numérica que se utiliza como contador de bucle. La
variable no puede ser Booleana ni un elemento de matriz.

principiot Requerido. Valor inicial del contador .

fin Requerido. Valor final del contador .

incremento Opcional. Cantidad en la que cambia el contador cada vez que se


ejecuta el bucle. Si no se especifica, el valor predeterminado de
incremento es uno.

instrucciones Opcional. Una o más instrucciones entre For y Next que se ejecutan un
número especificado de veces.
For Each...Next (Instrucción)
 Repite un grupo de instrucciones para cada
elemento de una matriz o colección.

 Sintaxis
◦ For Each elemento In grupo
[instrucciones]
[Exit For]
[instrucciones]
◦ Next [elemento]
For Each...Next (Instrucción)
Parte Descripción
elemento Requerido. Variable que se utiliza para iterar por los elementos del
conjunto o matriz. Para conjuntos, elemento solamente puede ser una
variable del tipo Variant, una variable de objeto genérica o cualquier
variable de objeto específica. Para matrices, elemento solamente
grupo puede ser una
Requerido. variable
Nombre de tipo Variant.de objetos o de una matriz
un conjunto
(excepto una matriz de tipos definidos por el usuario).

instrucciones Opcional. Una o más instrucciones que se ejecutan para cada elemento
de un grupo .
Ejemplo: Macro que permite cambiar el formato de un rango
dependiendo el valor de cada celda
Sub Formato()
For Each elemento In Selection
elemento.Select
Select Case ActiveCell.Value
Case Is < 0
colorear (255)
Case 0
colorear (5296274)
Case Is > 0
colorear (65535)
End Select
Next elemento
End Sub

Sub colorear(color)
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.color = color
.TintAndShade = 0
.PatternTintAndShade = 0
End With
End Sub
Ejemplo: Macro que permite cambiar el formato de un rango
dependiendo el valor de cada celda
FORMULARIOS
FORMULARIOS

FORMULARIO
OBJETOS QUE
PUEDEN AÑADIRSE
AL FORMULARIO
FORMULARIOS
FORMULARIOS

Propiedad Caption:
Nombre a desplegar
en el formulario
FORMULARIOS
FORMULARIOS
 Insertar un botón en su hoja de trabajo y
relacionar con el siguiente Macro
Sub Visualizar_Form1()
UserForm1.Show
End Sub
FORMULARIOS
 Crear el siguiente procedimiento

Sub InsertarNombre()

Sheets("Hoja2").Select
Range("A1").Select
ActiveCell.FormulaR1C1 = "=ISBLANK(Hoja1!R2C1)"

If ActiveCell.Value Then
Sheets("Hoja1").Select
Range("a2").Select
ActiveCell.FormulaR1C1 = UserForm1.TextBox1.Text
Else
Sheets("Hoja1").Select
Range("a1").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Range("A1").Select
ActiveCell.FormulaR1C1 = UserForm1.TextBox1.Text
End If

End Sub
FORMULARIOS
 Doble click en el elemento botón
CommandButton1
FORMULARIOS
 Insertar nuestro procedimiento

Private Sub CommandButton1_Click()


InsertarNombre
End Sub
FORMULARIOS
 En la hoja1 colocar el nombre de la columna
NOMBRE
FORMULARIOS
 Ahora nuestra aplicación insertará un nombre
cualquiera, que pongamos en el cuadro de
texto del UserForm1, al final de la lista
NOMBRE.
MACROS
2da Parte

También podría gustarte