EXCEL PROGRAMACION II Efraín Melgarejo Molina Contenido Unidad uno ............................................................................. 5 Introdución ...................... ¡Error! Marcador no definido. Traer el contenido de una celda a la celda actual. .............. 6 Operaciones matematicas................................................... 7 Funciones más utiliadas ..................................................... 8 Unidad dos ........................................................................... 11 Ejercicio practico ............................................................. 11 Ejercicio complementario ................................................ 13 Unidad tres ........................................................................... 27 Manejo de una base de datos en excel ............................. 27 Ordenar los registros ........................................................ 27 Buscar y reemplazar información .................................... 30 Activar y/o desactivar filtros ........................................ 31 Filtros avanzados ......................................................... 31 Dar nombre un rango determinado .............................. 35 Unidad cuatro ....................................................................... 37 Creación de gráficos con macros ..................................... 37 Tipos de graficos: ............................................................. 38 Titulos en un grafico ........................................................ 38 Leyenda en los gráficos ................................................... 39 Color del fondo de un gráfico .......................................... 40 Rotulos del eje.................................................................. 40 Etiquetas de datos ............................................................ 42 Tabla de datos .................................................................. 43 Eje horizontal ................................................................... 44 Eje vertical ....................................................................... 45 Línea de la cuadricula ...................................................... 46 Unidad cinco ........................................................................ 48 Comando cells.................................................................. 48 EXCEL PROGRAMACION II – Efrain Melgarejo M. Variables .......................................................................... 49 Ubicar el cursor una fila más debajo del último registro digitado. ....................................................................... 50 Reemplazar una celda con el contenido de una variable. ...................................................................................... 51 EXCEL PROGRAMACION II – Efrain Melgarejo M. Unidad uno Introducción En nuestra segunda entrega veremos otros elementos que permitirán al usuario mejorar no solo la presentación sino además las rutinas y subrutinas de manejo de la información que se están aplicando con las macros creadas en el o los libros en la que se desarrollaron. Página 5 de 52 EXCEL PROGRAMACION II – Efrain Melgarejo M. Traer el contenido de una celda a la celda actual. Para determinar una celda se escribe la columna y la fila antecedida por la palabra range Range(“a1”).select Esta sentencia da la orden de ubicar el cursor en la celda A1. En programación la columna toma la letra C (Column en inglés) y la fila R (row en inglés) y estas van a acompañadas por un número sea negativo o positivo. Veamos algunos casos R[-2]C[-1] En este caso se está pidiendo que se Traiga la información que contiene la celda que esta una columna arriba y dos filas a la izquierda de la posición del cursor. Cuando el valor es negativo se está pidiendo que a partir de la ubicación del cursor se debe desplazar una determinado número de veces hacia arriba cuando es C y a la izquierda cuando es R. En este caso se debe tener presente que si el cursor está en la columna A y/o en la fila 2 o 1 al ejecutar la orden aparecerá un error. Por ello siempre es importante tener una ubicación inicial fija. Página 6 de 52 EXCEL PROGRAMACION II – Efrain Melgarejo M. Range(“j5”).select ActiveCell.FormulaR1C1 = "=R[-2]C[-1]” En el caso anterior traerá a la celda j5 la información que está en la celda i3 C[-1]= I Porque la columna que antecede a la J es la I y la orden es ir una columna a la izquierda. R[-2]=3 Porque el número de filas que se pide su desplazamiento es 2 filas arriba de la ubicación actual y en este ejemplo está el cursor ubicado en la fila 5 y se pide subir dos filas entonces 5-2=3 quedando en la fila 3 Por eso en la celda J5 aparecerá esta información =i3 Operaciones matemáticas En el tema anterior observamos la manera correcta de traer el contenido de una celda a una celda activa o seleccionada, en esta ítem observaremos ese mismo procedimiento pero utilizándola como un procedimiento en realizar operaciones matemáticas sencillas. Manejo general: Se selecciona la celda donde va a quedar el resultado Se escribe la sentencia de traer la primera celda de la operación ActiveCell.FormulaR1C1 = "r(#)c(#) Página 7 de 52 EXCEL PROGRAMACION II – Efrain Melgarejo M. Digitar el operador matemático a utilizar Operador Operación + Suma Resta * Multiplicación / División Operación Suma Resta Multiplica ción División Procedimiento Range(“f5”).select ActiveCell.FormulaR1C1 = R[3]C[-2]" Suma las celdas d3 y d8 Range("G5").Select ActiveCell.FormulaR1C1 = R[3]C[-3]" Resta las celdas d3 y d8 Range("H5").Select ActiveCell.FormulaR1C1 = R[3]C[-4]" Multiplica las celdas d3 y d8 Range("I5").Select ActiveCell.FormulaR1C1 = R[3]C[-5]" Divide las celdas d3 y d8 "=R[-2]C[-2] + "=R[-2]C[-3] - "=R[-2]C[-4] * "=R[-2]C[-5] / Funciones más utilizadas Ya hemos observado cómo se realizan operaciones simples con visual Basic de Excel ahora veremos algunas funciones sencillas que pueden ser utilizadas con visual Basic. Página 8 de 52 EXCEL PROGRAMACION II – Efrain Melgarejo M. Función Redondear Suma Producto Contar Contara Sumar.si Número máximo Número mínimo Promedio Redondear Entero Contar celda vacía Contar con condición Visual Basic Round Sum Product Count Counta Sumif Max Min Average Round Int Countblank Countif Función Procedimiento Round Range(“g12”).select ActiveCell.FormulaR1C1 = "=ROUND(R[7]C[2],0)" Sum Range("I1").Select ActiveCell.FormulaR1C1 = "=SUM(R[4]C[4]:R[4]C[7])" Product Range("H2").Select ActiveCell.FormulaR1C1 = "=PRODUCT(R[3]C[5]:R[3]C[6])" Count Range("G15").Select ActiveCell.FormulaR1C1 = "=COUNT(R[10]C[-1]:R[-10]C[2])" Página 9 de 52 EXCEL PROGRAMACION II – Efrain Melgarejo M. Counta Sumif Range("G16").Select ActiveCell.FormulaR1C1 = "=COUNTA(R[11]C[-1]:R[-11]C[3])" Range("H1").Select ActiveCell.FormulaR1C1 = "=SUMIF(C[-7]:C[2],RC[4],C[-4])" Max Range("G13").Select ActiveCell.FormulaR1C1 = "=MAX(R[8]C[-1]:R[-8]C[2])" Min Range("G14").Select ActiveCell.FormulaR1C1 = "=MIN(R[-9]C[1]:R[-9]C[2])" Average Range("D7").Select ActiveCell.FormulaR1C1 = "=AVERAGE(RC[-3]:RC[-2])" round Range("D8").Select ActiveCell.FormulaR1C1 = "=ROUND(RC[3]:RC[-2],0)" int Range("D9").Select ActiveCell.FormulaR1C1 = "=INT(RC[3]:RC[-2])" countblank Range("D10").Select ActiveCell.FormulaR1C1 = "=COUNTBLANK(R[-2]C[-3]:RC[-2])" countif Range("D11").Select ActiveCell.FormulaR1C1 = "=COUNTIF(R[4]C[-3]:RC[-2],R[-4]C[2])" Página 10 de 52