En este espacio intento compartir algunos retazos, de lo que con el tiempo he ido aprendiendo sobre Excel. Espero que de esta aportación personal, alguien puede extraer alguna idea, que le pueda servir de ayuda en la elaboración de algún proyecto. Si es asi, será suficiente para que yo me sienta satisfecho con el trabajo realizado.

ABRIR DESCRIPCIÓN BREVE DEL TEMA - ( Excel 2007 + VBA ) TEXTO
00.- Recursos de Excel. Algunos recursos que ofrece Excel en su cinta de opciones (y/o menú), que nos ayudan en la efectividad y/o presentación de nuestro trabajo, una tabla con los atajos de teclado más frecuentes, funciones útiles para VBA y funciones integradas (fórmulas), algunas de ellas del "viejo" Excel 4.0.
02.- Liga de futbol (xlsm). Seguimiento de los resultados, clasificación, calendario, etc. de equipos de futbol (en el ejemplo 1ª división de España 2009-2010). El ejemplo contiene datos reales hasta la jornada 12.
03.- Validación a tres columnas (xlsm). El ejemplo permite elegir en C6 una provincia, en C9 una isla de dicha provincia y en C13 un municipio de dicha isla. Cada lista depende de la elección que hayamos hecho en la celda anterior.
05.- Barra de progreso (xlsm). Muestra una barra de progreso, mientras se ejecuta una tarea más o menos larga (en el ejemplo; escribe números aleatorios en A1:AX200).
06.- Validación con lista creciente (xlsm). Permite elegir nombres del desplegable de la celda, o escribirlos por teclado. Si el nombre no existe permite incluirlo en la lista origen.
08.- Datos no modificables* (xlsm). Impide seleccionar otra celda mientras no se cumplimente la actual y que se modifiquen los datos, una vez introducidos, salvo por código mediante un formulario.
09.- Busca referencia en base de datos (xlsm). Con funciones (en la hoja), empleo 3 métodos o Fórmulas diferentes en la búsqueda: BUSCARV, INDICE+COINCIDIR y DESREF+COINCIDIR. Con código VBA: CountIf (Contar.Si), Match (Coincidir), etc.
16.- Controlar celdas por el color (xlsm). Mediante el color de relleno y/o el color de fuente, controlo las celdas que pueden ser seleccionadas y/o modificadas.
19.- Cuenta los registros únicos (xlsm) existentes en la columna A, a partir de un listado de únicos, que crea a partir del listado original. Dos métodos: uno mediante VBA y otro exclusivamente con fórmulas.
20.- Acceso mediante solicitud de clave (xlsm) para archivos personales y/o de uso restringido. Si no hay coincidencia en la clave el archivo se cierra*. Conviene combinar este procedimiento con el del ejemplo 11.
23.- BuscarVn, KésimoMayorÚnico y KésimoMenorÚnico. (xlsm) Funciones definidas por el usuario (UDF), que devuelven el 1º, 2º, 3º,... etc. valor coincidente (hoja 1) o el Késimo mayor (o menor) valor en una matriz múltiple, considerando los valores repetidos como no existentes (hojas 2 y 3).
24.- Impedir* Insertar/Eliminar filas o columnas. (xlsm) Cuatro métodos (Con macros, Formato condicional, Validación y Hoja protegida) que impiden, o dificultan, la inserción o eliminacion,de filas y/o columnas en el documento.
25.- Separar nombres y apellidos. (xlsm) Métodos basados en separadores especiales (mayúscula, caracter 160, guión, doble espacio,...etc), que permitirán separar nombres y apellidos (compuestos o no). Ver también el ejemplo 57.
30.- Resaltar cabeceros. (xlsm) Resalta los cabeceros (arriba y a la izquierda) correspondientes a la celda seleccionada. Empleo: CELDA, FILA y COLUMNA y en VBA; CALCULATE.
32.- Calendario (xlsm) construido con un formulario VBA, que emula a MSCAL.OCX y que hace varias versiones que no incluyen en Office. Actualizado (24-Jun-2017) con ejemplo que incluye Fecha y Hora (CalendarioH.xlsm). Ver también los ejemplos Nº 49 y Nº 66.
33.- Suma acumulativa sobre la misma celda (xlsm). Ejemplo: La celda D8 contiene 40,000 Kg., escribimos en D8 23,3 y pulsamos INTRO; la celda D8 muestra 63,300 Kg.
34.- Encriptar datos (xlsm). Este ejemplo encripta o desencripta los datos existentes en las celdas de un rango continuo, excepto las celdas que contienen fórmulas.
36.- Promedio (xlsm)de los n últimos números de una columna, en la cual pueden (o no) existir celdas con texto o sin valor. Existe otra versión para Excel 2007 sin VBA (descarga 35).
37.- Leer criterios de autofiltro. (xlsm) Dos métodos que muestran los criterios con los que se ha filtrado mediante el Autofiltro.
42.- Lector de recetas de cocina. (xlsm) Ejemplo de como guardar recetas como registros de una BD y recuperación de los registros en una ficha tipo formulario. Ficha construida en las celdas que muestra: Ingredientes, coste, preparación, foto del plato, etc.
45.- (14-Dic-2011) Gráfico de Gantt (xlsm). Excel no integra este tipo de gráfico, pero podemos simularlo con un pequeño truco que consiste en un gráfico de barras apiladas y ocultar la primera serie.
46.- (26-Feb-2012) Copia de respaldo con fecha (xlsm). Guarda un libro Excel o un documento Word, y además una copia de seguridad, cuyo nombre está compuesto del nombre original + el día y el mes actual + la hora y minutos.
47.- (05-Ago-2013) Tabla de conversión (xlsm) entre números con base 2 (binario) base 10 (decimal)y base 16 (hexadecimal). Permite números enteros negativos y/o positivos.
48.- (27-May-2014) Función de usuario (UDF) (xlsm) que permite realizar búsquedas imitando a BUSCARV, pero con la opción de obtener la primera coincidencia o la última y devolver como resultado valores que esten en columnas de la derecha (de la columna en que buscamos) o en columnas de la izquierda.
49.- (24-Ago-2014) Calendario (xlsm) construido con un formulario VBA, que entrando año y mes ofrece elegir solamente días válidos para el mes y año elegidos. Puede escribir directamente en celdas, o en un cuadro de texto, ... etc. Ver también el ejemplo 32.
50.- (06-Nov-2014) Efectua una Copia (xlsm) del libro actual, pero excluyendo las macros. El nombre incluye: Fecha y hora actual + nombre actual + .xlsx
51.- (07-Nov-2014) Filtrar (xlsm) los nombres de una Base de datos y visualizar el resultado en un cuadro de lista. Al hacer clic en uno de los nombres de la lista, captura el resto de campos correspondientes a dicho nombre.
52.- (10-Nov-2014) Distribuye (xlsm) datos con fechas y otros datos, entre 12 hojas (meses del año), eligiendo destino según el mes que contiene la fecha.
54.- (18-Nov-2014) Ficha personalizada (xlsm). Añado una FICHA a la cinta de opciones mediante código HTML, con grupos y botones que realizan sus acciones mediante código VBA. También; como guardar una factura sin macros ni fórmulas.
55.- (09-Ene-2015) Extracción de horas extras (xlsm). Este ejemplo extrae las horas extras de una jornada continua de trabajo, diferenciando: horas diurnas, horas nocturnas y laborales o festivos.
56.- (24-Sep-2015) Guarda una copia de respaldo (xlsm), en una unidad de almacenamiento externa (o no), a continuación de que se guarde el archivo manualmente.
58.- (15-Jun-2016) 3 ejemplos de control visual por color (xlsm), Para contar, sumar, etc. con el color como criterio. El primero coloreando manualmente las celdas y los otros 2 con formato condicional.
59.- (04-Jul-2016) Formulario VBA con cuadro de lista que propone textos coincidentes con el texto escrito en un cuadro de texto. Es indiferente la posición del texto (principio, centro, etc.).
61.- (04-Sep-2016) ColorF: UDF que filtra/calcula en un rango de celdas, aquellas que tienen un color de fondo determinado. Cálculos: Cuenta, Máximo, Mínimo, Promedio, Suma.
63.- (23-Oct-2016) Tablas y VBA: Escribe en una tabla datos desde VBA. Es indiferente en que rango de la hoja esté la tabla.
64.- (14-Ene-2017) Suma de comisiones: discriminadas según ventas. Es un ejemplo creado a partir de una consulta en los foros.
66.- (24-Jun-2017) Control de fechas en un TextBox ( comentado) con máscara de entrada aaa/mm/dd. Vean otros ejemplos de entradas de fechas en: Nº 32 y Nº 49.
67.- (10-Jul-2017) UDF para múltiples OR que reduce considerablemente el tamaño de la fórmula. Ejemplo adaptado para Excel, de una idea original de Jesús (Mihura) construida para Access.






* Nota: Siempre deberemos tener en cuenta que; La posibilidad de que vulneren nuestros datos, o que rebasen las barreras que pongamos para evitar daños en los mismos, dependerá del nivel de conocimientos y de las intenciones del usuario o intruso de turno.

¡ Importante ! .- La información contenida en esta página, el código fuente incluido en los ejemplos y lo explicado/recomendado en los mismos, no incluye ningún tipo de garantía, y no otorga derecho alguno sobre mantenimiento o asesoramiento de los mismos.

Garantizo que todo ha sido hecho con la mejor voluntad, pero usted asume cualquier riesgo al poner en práctica, modificar, utilizar y/o ejecutar, lo ofrecido y explicado aquí.

Inicio de página