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 - ( Lista completa ) 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.
01.- Desglose en Euros. (Actualizado: 10 Oct 2016) El ejemplo desglosa una cantidad de euros (admite céntimos) en billetes y monedas, mediante 3 modos diferentes: a) fórmula matricial, b) SumaProducto y c) Macro (VBA).
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.
04.- Validación excluyente (xlsx). El ejemplo permite elegir un nombre de una lista, la cual no contiene ya, los nombres elegidos anteriormente en el rango. Modificado 22-01-12 para que trabaje sin macros.
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.
07.- TRUCO. Agrupa/combina un grupo de celdas (xls), sin que pierdan sus valores individuales. Sirve p.e. para tener un listado de nombres (u otros valores) simulando que no están.
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.
10.- Lista los archivos de una carpeta determinada (xls). A1 debe contener la dirección completa de la carpeta. Empleo para la captura el nombre definido MisArchivos .
11.- Obliga* a activar las macros (xls). Si no se autorizan las macros, se muestra una hoja alternativa (similar a la principal) no operativa simulando que es la principal.
12.- Calendario perpétuo (xlsx). Además del calendario con los 12 meses, contiene un calendario especial con 6 semanas: La semana actual, las 2 semanas anteriores y las 3 próximas semanas. Las fórmulas están visibles, pero no explicadas.
13.- Datos de un año (xls). Gráfico con los datos del último año. A medida que entran datos nuevos, desaparecen los meses más viejos y permanecen solamente los últimos 12 meses. Las fórmulas no están explicadas.
14.- Moda progresiva (xls). Indica el dato que más se repite dentro de una matriz de valores, luego el segundo más repetido, luego el tercero más repetido, etc.
15.- Juego: "Hundir la flota" (xls). Se trata del conocido juego para dos jugadores, en que cada uno intenta hundir los barcos del otro. No explico como reconstruir el ejemplo (es un proceso largo), pero la hoja y el código están desprotegidos por si quieres "escarbar" en el interior.
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.
17.- Muestra una u otra imagen según número de índice (xls). Dos métodos que cambian una imagen por otra al cambiar el valor de una celda (numérico). Con los cambios oportunos, se podría modificar para controlarlas mediante textos (por ejemplo apellidos).
18.- Resalta las celdas que contienen fórmulas para evitar sobreescribirlas por error (xls). Emplea macro-función de Excel 4 en un nombre definido. Las instrucciones para lograr el efecto están en la hoja 2 (BD).
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.
21.- Desplazamiento de figura (xls) acompañando la celda activa. La figura (una flecha) cambia de columna y de fila según cambia la selección, para señalar la celda seleccionada.
22.- Gráfico cortado (xls) que visualiza valores muy altos con valores bajos, mostrando dos zonas con sus respectivas zonas de valores para el eje Y. Es un efecto óptico logrado con algunos trucos.
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.
26.- Búsqueda avanzada. (xls) Dos ejemplos sencillos, que muestran un listado con los nombres que coinciden con el texto escrito en un cuadro de texto. A medida que vamos escribiendo nuevos caracteres, va modificando el listado y muestra sólo los coincidentes con el texto escrito (criterios diferentes en cada ejemplo).
27.- Copiar / Pegar, datos filtrados. (xls) Método para copiar y pegar sólo los datos filtrados, empleando el teclado y las herramientas integradas en Excel, o también como automatizarlo mediante código VBA.
28.- Cálculo de aprovechamiento de un contenedor (xls). Método para calcular la cantidad de bultos que caben en un contenedor, según sus dimensiones y orientación del contenido.
29.- Valores de la configuración IP de Windows. (xls) Macro sencila que muestra la Dirección IP del equipo, la Máscara de subred, la Puerta de enlace predeterminada, etc.
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.
31.- Filtrar datos. (xlsx) Obtengo mediante fórmulas un filtrado de datos, incluso si los registros no están consecutivos. Para ello utilizo una columna auxiliar y: DESREF, COINCIDIR e INDICE.
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.
35.- Promedio (xlsx)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 con VBA (descarga 36).
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.
38.- Función Regla de 3 simple y compuesta. (xls) Macro función sencila que resuelve la regla de 3 simple o la compuesta. Debemos tener en cuenta las razones inversas.
39.- Contar coincidencias en rango (xls) utilizando SUMAPRODUCTO en vez de CONTAR.SI. En la propia hoja, explico de modo desglosado el funcionamiento de la fórmula.
40.- Filtrar con múltiples criterios. (xls) Autofiltro con Excel 2003 empleando múltiples criterios (8 en el ejemplo), apoyándonos en una columna auxiliar.
41 (03-Nov-2011).- Gráfico con leyenda variable (xls), personalizada mediante fórmula, que indica el avance o retroceso en la comparativa de dos periodos de tiempo similares (años, trimestres, ... etc.).
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.
43.- (16-Nov-2011) Colorear las barras de un gráfico (xls) según el valor original de las celdas de las cuales se alimenta, con el fin de informar al usuario mediante dichos colores.
44.- (14-Dic-2011) OrdenaMix (xls). Cuando en un campo existen datos numéricos y alfanuméricos mezclados, al ordenarlos Excel considera menores los datos numéricos, incluso qe los números seguidos de letras. Con este ejemplo, ordenamos en orden alfanumérico.
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 los ejemplos Nº 32 y Nº 66.
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.
53.- (13-Nov-2014) Validación (xlsx) en celda con doble lista desplegable. La primera vez se despliega una lista de paises, despues de elegir un pais, la lista que se muestra (en la misma celda) es de ciudades correspondientes a dicho país.
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.
57.- (12-Mar-2016) Separar nombre de apellidos (xlsx) mediante fórmulas en las celdas, e invertir tal que: "nombre-apellido1-apellido2" quede como "apellido1-apellido2, nombre". Ver también el ejemplo 25.
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.).
60.- (06-Jul-2016) Función INDICE en el modo referencia (modo menos conocido)que permite buscar/leer un dato en rangos diferentes, con diseño similar, incluso aunque los rangos no coincidan en número de filas y/o columnas.
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.
62.- (18-Oct-2016) Días laborables: Descuento de fines de semana y festivos entre dos fechas. El ejemplo permite muestras de: semanas, quincenas, meses o todo el ciclo entre fechas.
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.
65.- (18-Oct-2016) Códigos y nombres no duplicados: Impide* que se duplique un dato en el conjunto de datos de 2 (más otras 2) columnas ubicadas en tablas difrentes. El ejemplo impide* entrar un código (o un nombre de mes) que ya exista en Tabla1 o en Tabla2.
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