Anda di halaman 1dari 5

Escuela de Educacin Tcnica N2 Asistencia sobre la utilizacin de Aplicaciones Generales

MACROS EN EXCEL
Para crear una macro de forma manual es necesario tener conocimientos de programacin en general y de Visual Basic en particular, ya que es el lenguaje de programacin en el que se basa el VBA de Excel. Si no tienes esta base puedes saltarte este punto del tema. Primero debemos abrir el editor Visual Basic, y para eso accedemos al men Herramientas Macro - Editor de Visual Basic o presionamos la combinacin de teclas Alt + F11. Una vez abierto el editor de Visual Basic debemos insertar un mdulo de trabajo que es donde se almacena el cdigo de las funciones o procedimientos de las macros. Para insertar un mdulo accedemos al men Insertar - Mdulo. A continuacin debemos plantearnos si lo que vamos a crear es una funcin (en el caso que devuelva algn valor), o si por el contrario es un procedimiento (si no devuelve ningn valor). Una vez concretado que es lo que vamos a crear, accedemos al men Insertar Procedimiento... Nos aparece un cuadro de dilogo como vemos en la imagen donde le damos el Nombre: al procedimiento/funcin sin insertar espacios en su nombre. Tambin escogemos de qu Tipo es, si es un Procedimiento, Funcin o es una Propiedad. Adems podemos seleccionar el mbito de ejecucin. Si lo ponemos como Pblico podremos utilizar el procedimiento/funcin desde cualquier otro mdulo, pero si lo creamos como Privado solo podremos utilizarlo dentro de ese mdulo. Una vez seleccionado el tipo de procedimiento y el mbito presionamos sobre Aceptar y se abre el editor de Visual Basic donde escribimos las instrucciones necesarias para definir la macro. Para comprobar si funciona correctamente la macro creada: - Se accede al men Herramientas -- Macro. - Se Elige la opcin Macros... - Se Selecciona la macro creada y se pulsa sobre Ejecutar.

Escuela de Educacin Tcnica N2 Asistencia sobre la utilizacin de Aplicaciones Generales

Ejercicios de FUNCIONES (EXCEL) MACROS CON VISUAL BASIC


Crear las funciones especficas que permitan PROCEDIMIENTOS 1) Inicializar con cero u otorgar un valor a celdas seleccionadas Public Sub inicializar() For Each c In Selection.Cells c.Value = 0 Next End Sub 2) Sumar el valor de varias celdas Public Sub sumar() Cells(10, 6)* = 0 For i = 1 To 3 Cells(10, 6) = Cells(10, 6) + Cells(i, 2)** Next End Sub
* la celda (10,6) es la celda de fila=10 y columna=6; es decir, celda F10 ** en la celda F10 coloca el resultado de la suma de las celdas B1+B2+B3

3) Multiplicar el valor de varias celdas seleccionadas por un nmero Public Sub aumentar() For Each c In Selection.Cells c.Value = c.Value * 1.5 Next End Sub 4) Convertir de moneda peso a moneda dlar Public Sub peso_a_dolares() For Each c In Selection.Cells c.Value = c.Value / 3.05 c.NumberFormat = "#,##0.00" Next End Sub 5) Convertir de moneda dlar a moneda peso Public Sub dolar_a_peso() For Each c In Selection.Cells c.Value = c.Value * 3.05 c.NumberFormat = "#,##0.00" Next End Sub

Escuela de Educacin Tcnica N2 Asistencia sobre la utilizacin de Aplicaciones Generales 6) Pasar el contenido de celdas seleccionadas a letra mayscula Public Sub mayusculas() pag 66 For Each a In Selection a.Value = UCase(a.Value) Next End Sub 7) Pasar el contenido de una celda a letra mayscula analizando si el mismo es un texto; es decir, discriminando tipo de dato Public Sub mayusculas() pag 67 For Each a In Selection x = a.Value If VarType(x)* = 8 Then a.Value = UCase(x) End If Next End Sub
* la funcin VarType devuelve un nmero que indica que tipo de dato contenido es el contenido en el argumento. En este caso el nmero 8 corresponde a tipo texto.

8) Pasar a letra minscula el contenido celdas seleccionadas discriminando tipo de dato Public Sub minuscula() For Each a In Selection x = a.Value If VarType(x) = 8 Then a.Value = LCase(x) End If Next End Sub 9) Dar formato tipo oracin al contenido de las celdas seleccionadas Public Sub frase() For Each a In Selection x = a.Value If VarType(a.Value) = 8 Then a.Value = UCase(Left(a.Value, 1))* & LCase(Mid(a.Value, 2)) End If Next End Sub
* Funciones de visual Basic: - Left: toma la parte izquierda de un texto. Ej: Left(LOCOMOTORA,4) devuelve el texto LOCO - Right: toma la parte derecha de un texto. Ej: Right(LOCOMOTORA,4) devuelve el texto TORA - Mid: toma la parte central de un texto. Ej: Mid(LOCOMOTORA,3,4) devuelve el texto COMO

Escuela de Educacin Tcnica N2 Asistencia sobre la utilizacin de Aplicaciones Generales FUNCIONES SENCILLAS 10) Pasar de moneda peso a moneda dlar Function PESOaDOLAR(i) PESOaDOLAR = i / 3.05 End Function
Seleccionar la celda donde se quiere colocar el resultado de la funcin y escribir por ejemplo: = function(A2) Donde en la celda A2 esta el valor que se quiere cambiar

11) Pasar de moneda dlar a moneda peso Function DOLARaPESO(i) DOLARaPESO = i * 3.05 End Function 12) Cambiar los registros de temperaturas de Grados Centgrados (C) a Grados Fahrenheit (F) y viceversa sabiendo que las frmulas para realizar los pasajes son: T C = (T F 32) * 5/9 T F = (T C * 9/5) + 32 Function GRADOSF(g) GRADOSF = (g * 9 / 5) + 32 End Function Function GRADOSC(g) GRADOSC = 5 / 9 * (g - 32) End Function 13) Calcular el factorial de un nmero Public Function factorial(n) factorial = 1 For i = 1 To n factorial = factorial * i Next End Function

Escuela de Educacin Tcnica N2 Asistencia sobre la utilizacin de Aplicaciones Generales

Anda mungkin juga menyukai