Quantcast
Channel: #ExcelPedroWave
Viewing all 262 articles
Browse latest View live

Calcular la retirada de un cajero

$
0
0

El cajero

Este artículo no trata sobre el cajero del PP, ni de su ex-tesorero y sus papeles de la caja B, ni de su contable y las cuentas de anónimos, ni de los sobres-sueldos a la formación, ni de los pagos en negro para remodelar la sede, ni de los sobres con dinero fraccionado para que nunca superara los 60.000 euros que permite la ley de donaciones, ni de los paraísos fiscales. Solo tengo que decir que la ley está "pensada para el robagallinas, no para el gran defraudador", ¿dónde habré leído ésto?, es muy blanda con los ladrones de guante blanco y es tan lenta que siempre prescribe para estos chorizos o se les indulta en última instancia.


Este artículo tampoco trata sobre las tarjetas negras o black u opacas o secretas o irregulares o visas oro de las "cajas de ahorro" Caja Madrid y Bankia, ni de sus consejeros, ni de sus cajeros, ni de los gastos de representación o libre disposición, ni de los complementos retributivos, ni de los incentivos, ni si los gastos de una tarjeta se declaraban o no. Pero ¿qué necesidad tienen de tirar de estas tarjetas poniéndose ellos mismos los sueldos que se ponen?

Tampoco hablaré de los ciberataques a cajeros de todo el mundo, no a Blesa, Rato o Barcenas, que esos están blindados, sino a cajeros físicos de los que se han robado millones de euros en Europa, América y Asia.
Investigación criminal de Kaspersky Lab

Y tampoco comentaré los principales problemas de los cajeros de los ciudadanos corrientes y con preferentes, ni si no dan dinero, ni recibo, ni si se tragan la tarjeta, ni si cobran comisiones, ni si es mejor el dinero contante y sonante, o mejor los maletines de billetes de 500€ que son los que más circulan por España, en negro y en la economía sumergida.  ¿Serán estancos estos billetes para que no se mojen en agua?  No lo puedo decir porque aún no he tenido ninguno entre mis manos limpias.
Cuatro problemas con los cajeros automáticos, ¿cómo solucionarlos?


La retirada de un cajero

Este artículo trata de ayudar a calcular la retirada de un cajero, no por dimitir de sus cargos, ni por cesar al ex-director general de economía ni a los ex-consejeros de las cajas, ni por las jubilaciones doradas de las cajas, sino por saber cuántos billetes expenderá de cada clase si se retira efectivo.

Como si estuviéramos delante de un cajero y hubiéramos insertado en la ranura una tarjeta negra o dorada, introduciendo la cantidad a retirar en la celda E3 nos dirá cuántos billetes de cuántos euros, ¡pero no nos los dará!




Si se acaban los billetes de 500 € se pone un 0 en la celda C5, y lo mismo se puede hacer con las celdas marcadas en amarillo.

Mi contribución es la de la hoja "7 BILLETES" y me he inspirado en la hoja "5 BILLETES" que encontré en la web de Jesús Ferrer: Aplicaciones sencillas para Excel

No debemos olvidar los mortales, y nuestros hijos, que para retirar dinero en efectivo de los cajeros debemos tener saldo o crédito en la cuenta vinculada, y no hay que olvidar que cada día es más difícil cualquiera de esas dos cosas para las familias pobres en España.



Control de Calendario Desplegable en Excel

$
0
0

Reto de un nuevo Calendario Desplegable

El reto esta vez ha sido crear un Calendario Desplegable sin necesidad de manejar las APIS de Windows, porque en Excel 2010 y 2013 no está disponible el complemento "Control de calendario" y no quería tener que habilitar el control de calendario para Microsoft Excel 2010 de versiones anteriores.

Se puede ver en cualquier celda con el botón derecho del ratón o en las celdas de las columnas que tienen "*FECHA*" en la primera fila o, sabiendo algo de macros en VBA, seleccionar el rango de celdas en que se mostrará el Calendario Desplegable.

Este calendario es personalizable sin saber de macros ni VBA pues la imagen del calendario se obtiene de la hoja "CalCon" y las fechas señaladas como días festivos o acontecimientos se escogen en la hoja "CalFechas".


Descarga del Calendario Desplegable

Enlace para descargar la plantilla del Calendario Desplegable aquí:

Control de Calendario PW2.xlsm 


Requisitos del Calendario Desplegable

Los requisitos han sido:
  1. Programar el Control con el uso mínimo de macros VBA, solo para visualizar el Control y los cambios de mes.
  2. Crear el Control únicamente con formas nativas de Excel, ya sean imágenes o controles de formulario y ActiveX.
  3. Calcular y representar gráficamente el calendario usando las fórmulas de Excel.
  4. Mostrar el mes de la fecha de la celda activa.
  5. Controlar la modificación de la fecha de celdas activas protegidas.
  6. Cambiar fácilmente el mes y año mostrados.
  7. Retornar rápidamente al día actual o al día de la celda activa.
  8. Sombrear el día seleccionado a la vez que se cambia en la celda activa.
  9. Mostrar el número de semana comenzando en domingo o lunes y según ISO 8601
  10. Cambiar el zoom del Control. (Botones: < 0 >)
  11. Orientar el Control para que se muestre lo mejor posible alrededor de la celda activa.
  12. Incluir fechas de festivos coloreadas y generadas automáticamente, por ejemplo calculando la Semana Santa.

Más requisitos del Calendario Desplegable

18-11-2014: He añadido algunas características adicionales al control de este calendario para facilitar su uso que se pueden ver en esta imagen animada:
  1. Marcar los días por los que pasa el cursor.
  2. Controlar si se marcan los días por los que pasa el cursor. (Botón: o)
  3. Controlar si se muestran todos los días. (Botón: x)
  4. Controlar el número y el tipo de semana: la semana comienza en lunes o domingo. (Botón: w)
  5. Copiar el control a una hoja existente o nueva. (Botón de la hoja "CalCon": "Copia la forma del Control en una hoja")

Vídeo del Calendario Desplegable

En el vídeo se puede ver cómo hacer para incluir la forma agrupada en cualquier hoja, sea nueva o existente, y cómo copiar las macros de la hoja "CalTest" o "CalFechas" a la nueva hoja para que se despliegue el Calendario.



Habilitar el viejo Calendario Desplegable

Si después de conocer mi nuevo Control de Calendiario aún quieres habilitar el control de Excel 2007 en las siguientes versiones, puedes leer el siguiente soporte de Microsoft, conociendo que en Windows de 64 bits no funciona el viejo Control: Habilitar Control de calendario y DatePicker para Microsoft Excel 2010


Drop-Down Calendar Control

$
0
0

A new drop-down calendar challenge

This time the challenge has been to create a Drop-Down Calendar without any handle Windows APIs, because in Excel 2010 and 2013 is not available the "Calendar Control" add and I didn't want to enable the previous versions of the calendar control for Microsoft Excel 2010.

You can see in any cell pressing the right mouse button or in the cells of the columns that have "*DATE*" in the first row or, knowing something about VBA macros, selecting the cell's range where will be displayed the drop-down calendar.

This calendar can be customized without knowing about macros or VBA, because the calendar image is obtained from the "CalCon" sheet and dates such as holidays or events are selected in the "CalFechas" sheet.


Download this drop-down calendar control

Link to download the Drop-Down Calendar template from here:

Control de Calendario PW2.xlsm 


Drop-Down Calendar Requirements

The following requirements have been proposed:
  1. Programming the Control with minimal use of VBA macros, only to display the Control and to change selected month.
  2. Create the Control with only native Excel forms, either images or form controls and ActiveX.
  3. Calculate and plot the calendar using Excel formulas.
  4. Show the month of the date of the active cell.
  5. Controlling the change of dates into protected cells.
  6. Easily change the month and year shown.
  7. Quickly return to the current day or the day of the active cell.
  8. Shadow the selected day just when it is changed the date of the active cell.
  9. Display week number starting on Sunday or Monday and according to ISO 8601
  10. Change Control zoom. (Buttons: < 0 >)
  11. Display the Control around the active cell.
  12. To include holiday dates colored and automatically generated, for example How to make the Easter dates.


More Drop-Down Calendar Requirements

18-11-2014: I added some additional features to this calendar control to facilitate its use, that you can see in the animated picture:
  1. Mark the days above the mouse cursor is passing over.
  2. Check if you mark the days above the cursor is passing. (Button: o)
  3. Check that shows everyday. (Button: x)
  4. Control the number and type of week: weeks start on Monday or Sunday. (Button: w)
  5. Copy control to an existing or new sheet. ("CalCon" sheet button: "Copy the Control shape on a sheet")

Drop-Down Calendar video

In the video you can see how to include the form into any sheet grouped together, whether new or existing, and how to copy the macros of "CalTest" or "CalFechas" sheet to the new sheet where the Calendar will be displayed.



Enable the old Drop Down Calendar

If after knowing my new Calendar control you still want to enable Excel 2007 control in following versions, you can read the next Microsoft support, knowing that 64-bit Windows doesn't work with the old Control: Habilitar Control de calendario y DatePicker para Microsoft Excel 2010


Un Arbol de Navidad Intermitente

$
0
0

Feliz Navidad y Año Nuevo

Hoy comparto contigo un Arbol de Navidad Intermitente en Excel para celebrar las fiestas de Navidad y Año Nuevo 2015.

En Excel se han hecho Arboles de Navidad con macros VBA o con fórmulas, para los que los usuarios necesitan hacer clic repetitivamente en la tecla F9 para recalcular las fórmulas de las hojas o se debe desplazar una barra para tener un árbol animado.

La Excelente bloguera Debra Dalgleish compartió en su foro (Contextures Excel Blog) un árbol de Navidad intermitenete usando código VBA para animarlo, por lo que se necesita que las macros estén habilitadas. Para arrancar o parar el árbol intermitenete, el usuario debe hacer clic con el botón derecho del ratón en cualquier sitio de la hoja. Aquí hay algunos ejemplos:

A Blinking Christmas Tree

Excel Scroll Bar Christmas Tree Example

Excellent Christmas 2009

Arbol de Navidad Iterativo

Mi reto ha sido: ¿Cómo hacerlo sin macros en VBA, barra de desplazamiento o tecla F9?

He resuelto este reto usando el cálculo iterativo.

¿Cómo usar el cálculo iterativo de Excel?
  1. Clic en la pestaña Fichero, clic en Opciones y en la categoría Fórmulas.
  2. En la sección de Opciones de cálculo, seleccione Habilitar cálculo iterativo.
  3. Poner el número de Iteraciones máximas a 1.199.
  4. Poner el Cambio máximo a 1.
Este árbol en Excel está formado por 4 hojas, 3 de ellas muy ocultas por lo que el usuario no puede visualizarlo a través de la interfaz de usuario de Excel.

Para ver todas las hojas se deben presionar juntas las dos teclas: Alt - F11 para entrar en el Editor de VBA, ver las propiedades de las hojas y cambiar en cada una de las hojas la propiedad Visible de xlSheetVeryHidden a xlSheetVisible.
  • Sheet "LaVi": Texto en español ("FELIZ FORO") y texto en inglés ("HAPPY GUYS")
  • Sheet "Vi": Arbol de Navidad.
  • Sheet "NoVi": Fórmulas iterativas intermitentes.
  • Sheet "SiViDad": Arbol de Navidad Intermitente.
Para ver el Arbol de Navidad en la última hoja, se debe cambiar el valor de la celda AZ1 a 1.

Descarga del Arbol de Navidad

En la nube no es posible ver el árbol intermitente.  Para ello se necesita descargarlo de OneDrive desde aquí.

Excel2015_PW1.xlsx 





¡Disfruta y felices fiestas!

A Blinking Excel Christmas Tree

$
0
0

Happy Christmas and New Year

I share with you a blinking Excel Christmas Tree to celebrate the upcoming New Year holiday.

Some Excel guys have done Christmas Trees with VBA macros or with formulas, for which users need to press repetitively the F9 key to recalculate the worksheet or users could slide a scroll bar to have a lively tree.

The Excellent blogger Debra Dalgleish shared in her forum site (Contextures Excel Blog) a blinking Christmas tree that uses VBA code to run, so you will need to enable macros for the workbook. To start or stop the tree blinking, right click anywhere on the worksheet. Here are some examples:

A Blinking Christmas Tree

Excel Scroll Bar Christmas Tree Example

Excellent Christmas 2009

Iterative Christmas Tree

My challenge is: How to do this without VBA/macros, scroll bar or F9 key?

I solved this challenge using the iterative calculation.

How to use Excel iterative calculation?
  1. Click the File tab, click Options, and then click the Formulas category.
  2. In the Calculation options section, select the Enable iterative calculation check box.
  3. Set the maximum number of times Excel will recalculate, type the number of iterations in the Maximum Iterations box to 1,199.
  4. To set the maximum amount of change you will accept between recalculation results, type the amount in the Maximum Change box to 1.
This Excel tree is made with 4 sheets, 3 of them very hidden so the user cannot make the sheet visible through the Excel user interface.

To see all sheets, press these two keys together: Alt - F11 to see the VBA Editor, see the sheet properties and change each Visible propertie from xlSheetVeryHidden to xlSheetVisible.
  • Sheet "LaVi": Text in Spanish ("FELIZ FORO") and text in English ("HAPPY GUYS")
  • Sheet "Vi": Christmas tree.
  • Sheet "NoVi": Blinking iterative formulas.
  • Sheet "SiViDad": Blinking Christmas Tree.
To see the Christmas Tree into the last sheet, change the value of AZ1 cell to 1.

Christmas Tree Download

On the cloud is not possible to see the tree blinking.  You need to download from OneDrive here.

Excel2015_PW1.xlsx 





Enjoy and happy holidays!

Estadísticas del blog

$
0
0
El mes de diciembre de 2014 ha sido el de los lectores de este blog, al verlo 18.230 veces, acumulando un total de 385.125 vistas, lo que agradezco tremendamente y me anima a seguir publicando artículos en Excel que espero sean del interés de mis lectores en este Año Nuevo que acaba de comenzar y para el que deseo mis mejores augurios de salud, dinero y amor.

Desde que se creó este blog, en marzo de 2010, el número de visitas anuales ha sido el siguiente:

 Año Visitas
2014 121.086
2013 100.081
2012 103.292
2011 48.710
2010 11.956
Total385.125

Se puede consultar el número de páginas vistas mensualmente y los gráficos de páginas vistas y acumuladas al mes en la siguiente tabla:




Para hacer más fácil la búsqueda de los artículos publicados, en la siguiente tabla están todos los enlaces publicados hasta ahora de cada uno de los artículos, separados en dos hojas: español e inglés.




Mi deseo es que lo sigas pasando bien leyendo mi blog este Año Nuevo 2015 y como regalo os pongo este vídeo "Cómo hacer un Calendario en Excel en menos de 8 minutos":



Para verlo en pantalla completa hacer clic en el botón de abajo a la derecha.

Blog statistics

$
0
0
December 2014 has been the month of the readers of this blog, to see it 18,230 times, accumulating a total of 385,125 views, which I appreciate tremendously and encourages me to continue publishing articles in Excel that I hope will interest my readers in this New Year that has just begun and for that I wish my best wishes for health, wealth and love.

Since this blog was created in March 2010, the number of annual visits has been as follows:

 Year Visits
2014 121.086
2013 100.081
2012 103.292
2011 48.710
2010 11.956
Total385.125

You can check the number of page views monthly and graphics of page views per month and accumulated in the following table:




To facilitate the search for articles published, in the following table are all links published to date of each post, separated into two sheets: Spanish and English.



My wish is for you to follow having fun reading my blog this New Year 2015 and as a gift I post this video "How to Make a Calendar in Excel in less than 8 minutes":



To view it in full screen, click on the right button.


Juego DesactivaBombas en Excel

$
0
0

Historia del Buscaminas (Minesweeper)

El Buscaminas es de los juegos más populares y al que más horas hemos jugado desde hace 25 años que fue creado. Apareció en Microsoft Entertainment Pack 1 in 1990 y en Windows 3.1 en 1992, habiendo conseguido su doble objetivo, ser entretenido y ser didáctico.

Image and video hosting by TinyPic

No hace falta explicar por qué es tan entretenido, pero si por qué es didáctico. Con el juego del Solitario Microsoft nos enseñó a los usuarios los movimientos de arrastrar y soltar del ratón "drag & drop", con el Buscaminas los usuarios noveles de las ventanas de Windows podían practicar a hacer clic izquierdo para pinchar en una casilla y clic derecho para marcar las minas con banderitas rojas. Ahora que todos sabemos manejar las pantallas táctiles y los cursores con ratones de todos los colores nos parece sencillo hacer clic o doble clic en cualquier parte de una ventana o de una celda de Excel, pero en los años 90 el ratón era un auténtico desconocido para la mayoría de los usuarios de Windows, que sabían introducir líneas de comando en MS-DOS o moverse por arcaicas ventanas manejando las teclas de movimiento del cursor (izquierda, derecha, arriba y abajo) y a Microsoft se le ocurrió que aprenderíamos más fácilmente, ¿cómo?, ¡¡¡ jugando al Solitario y al Buscaminas !!!

Para saber un poco más de la historia del Buscaminas, aquí os dejo estos tres enlaces:

Cuando el Buscaminas cambió bombas por flores

The UI design minefield - er... flower field??

Los juegos de Windows y sus secretos

Historia del DesactivaBombas en Excel

Hoy 6 de enero, día de los Reyes Magos, comienza la historia de este juego pensado para ser jugado en Excel sin usar macros VBA y usando solamente fórmulas, con el cálculo iterativo habilitado.  El juego DesactivaBombas únicamente se parece al Buscaminas en su apariencia, al haber cambiado completamente la manera de jugar para desactivar las bombas en lugar de buscar las minas.  A quién se le ocurrió buscar minas si para ganar el juego de lo que se trataba era de no encontrarlas...

En el nuevo juego DesactivaBombas no se debe hacer clic con el botón izquierdo del ratón en una casilla para descubrir cuantas minas o bombas hay alrededor de una celda o para ver si perdemos el juego al explotar la mina o al no poder desactivar las bombas.  Para jugar a este juego se pueden usar estos dos métodos:
  1. Hacer doble clic con el botón izquierdo del ratón en una celda del campo de bombas o
  2. Moverse con las teclas de desplazamiento del cursor a una celda y presionar la tecla F9.
El primer método no es tan seguro como el segundo pues a veces, para refrescar de nuevo el campo de bombas, hay que hace doble clic en alguna celda que ya esté desactivada.

Para poder jugar se deben chequear los siguientes botones:
  • "Inicia la desactivación" para inciar el juego.
  • "Busca bombas" para desactivar bombas descubriendo el número de bombas que hay alrededor.
  • "Marca bombas" para marcar con una banderita la bomba que se va a desactivar.
Escribe tu nombre como desactivador de bombas en la celda D6 y a jugar si descargas el juego desde aquí:

DesactivaBombas_PW1.xlsx 



En el siguiente vídeo se muestran las opciones del juego:



Como funciona el DesactivaBombas

En la hoja "Campo" hay dos campos de bombas, el primero se extiende hasta el rango D8:AG23 para 16x30 celdas en el caso de ser la dificultad del tipo "Avanzado".

En estas 480 celdas está uno de los secretos de este juego, para poder jugarlo sin macros VBA. Todas estas celdas contienen únicamente un carácter de espacio en blanco para que, cuando se hace doble clic con el ratón, o se selecciona una de esas celdas con las teclas del cursor y se pulsa la tecla F9, no se vea ninguna fórmula ni ningún valor.

El segundo secreto es que, para poder ver en ese rango D8:AG23 el número de bombas o la letra P representando una banderita o la letra Q representando una bomba, se usa el formato condicional personalizado para los números de celdas. Por ejemplo para la letra Q se usa el Tipo: "Q";;;"Q" siendo las 4 secciones de código: POSITIVO;NEGATIVO;CERO;TEXTO (ver: Crear o eliminar un formato de número personalizado), las que convierten el espacio en blanco como TEXTO en la letra Q y como POSITIVO para mostrarlo en el formato condicional, siempre que la celda correspondiente del rango AK8:BN23 tenga el valor 9 que representa una celda con bomba.

El tercer secreto permite obtener la celda seleccionada mediante dos nombres definidos, usados en el mismo rango anterior D8:AG23, pero de la hoja "Bombas" que está muy pero que muy oculta:
SelCol =CELDA("columna")-3
SelFil =CELDA("fila")-7

Para formar la imagen "Bombas" en la hoja "Campo" se hace con el nombre definido: =CampoVisible que, si se ha seleccionado mostrar el campo auxiliar, muestra el rango Bombas!D8:AG23

En el rango Bombas!AK8:BN23 se sitúan aleatoriamente las bombas, con fórmulas que dependen de las bombas situadas en las celdas contiguas y de la probabilidad calculada en la celda AW1 dependiente del grado de dificultad y del número de bombas a desactivar.  Para colocar las bombas hace falta que en las Opciones de Excel, en Fórmulas y en las Opciones de cálculo esté habilitado el calculo iterativo, con 300 iteraciones máximas y 1 cambio máximo.

El cálculo del número de bombas alrededor de cada celda se hace en el rango Bombas!BR8:CU23 y Bombas!FM8:GP23.  Las celdas desactivadas de bombas en el rango Bombas!CY8:EB23, en formato alfanumérico y en el rango Bombas!EF8:FI23, en formato simbólico con fuente tipo "Wingdings".

La hoja "Historia" guarda los juegos con el nombre del desactivador de bombas, la dificultad, el número de bombas y el tiempo empleado.  Para guardar únicamente los estados cuando se gana o se pierde el juego, se controla el cambio de estado en la celda Historia!AG1.

La hoja "Estadísticas" guarda las estadísticas de los 10 mejores tiempos de cada grado de dificultad y sus rachas de derrotas y victorias.

Este juego está probado en Excel 2010. En Excel 2007 no se puede disfrutar de toda la funcionalidad del juego.

Si hay algo que necesita más explicaciones después de leer la hoja "Ayuda", no te quedes con la duda, haz un comentario y responderé cuanto antes.


DeactivateBombs Excel Game

$
0
0

Minesweeper history

Minesweeper is one of the most popular games of all time and it is the game you've played more hours since it was created 25 years ago. It appeared in Microsoft Entertainment Pack 1 in 1990 and in the Windows 3.1 in 1992, having achieved its dual objective, be entertained and be didactic.

Image and video hosting by TinyPic

No need to explain why it is so entertaining, but why is didactic? With the Solitaire game Microsoft showed, to the Windows users, the drag and drop mouse movements. With the Minesweeper game novice Windows users could practice a left click on a square and a right click to mark the mines with red flags. Now that we all know to handle touch screens and mouse cursors of all colors, seems simple to click or double-click anywhere in a window or in one Excel cell, but in the 90s the mouse was a real unknown to most Windows users, who could enter command lines in MS-DOS or move through archaic windows managing the arrow keys (left, rigth, up, down) and Microsoft want to learn us that use more easily, how?, playing Solitaire and Minesweeper !!!

To know more of Minesweeper history, here are three links:

Minesweeper Strategy

The UI design minefield - er... flower field??

Microsoft Minesweeper

Excel DeactivateBombs history

Today January 6, the day of the Three Kings, this game history begins meant to be played in Excel without using VBA macros and using only formulas with the iterative calculation enabled. The DeactivateBombs game only looks like in appearance to Minesweeper, to have completely changed the way people play to deactivate bombs instead of sweeping mines.

In the new DeactivateBombs game should not click with the left mouse button on a square to discover how many mines or bombs there around a cell or to see if we lose the game by exploiting the mine or when not being able to deactivate bombs. To play this game you can use these two methods:
  1. Make double click with the left mouse button in a cell into the bombs field or
  2. Move the cursor with the arrow keys to a cell and press the F9 key.

The first method is not as secure as the second because sometimes, to refresh the bombs field again, you must double-click any cell that is already deactivated.

To play should check the following option buttons:
  • "Start deactivation" to start the game.
  • "Deactivate bombs" to deactivate bombs, discovering the number of bombs that around.
  • "Mark bombs" to mark with flags the bomb to be deactivate.
Enter your name as a bombs deactivator in D6 cell and start playing if you download the game from here:

DeactivateBombs_PW1.xlsx 



In the video below you can see the game options:



How the DeactivateBombs game works

In the "Field" sheet there are two bombs field, the first field extends to the D8:AG23 range for 16x30 cells in the case of "Advanced" difficulty.

In these 480 cells is one of the secrets of this game, to play it without VBA macros. All these cells contain only one character blank so that, when double-clicking with the mouse or one of those cells with the cursor keys is selected and the F9 key is pressed, no display any formula or any value.

The second secret is that, to see in that D8:AG23 range the bombs number, or the P letter representing a little flag or the Q letter representing a bomb, customized conditional formatting is used to display the numbers into the cells in that range. For example, for the Q letter is used the type: "Q";;;"Q" being the 4 sections of code: POSITIVE;NEGATIVE;ZERO;TEXT (see: Create a custom number format), which become blank as TEXT in the Q character and as POSITIVE for display in conditional formatting, Whenever the corresponding cell in the range AK8:BN23 has the value 9 representing a cell with a bomb into.

The third secret allows to obtain the selected cell by using two defined names used within the same above range D8:AG23, but from the "Bombs" sheet that is very, very hidden:
SelCol =CELL("col")-3
SelFil =CELL("row")-7

To form the image "Bombs" in the "Field" sheet is made with the defined name: =CampoVisible that, if you have selected to show the auxiliary field, displays the Bombs!D8:AG23 range.

In the Bombs!AK8:BN23 range, bombs are randomly positioned, calculated with formulas that depend on bombs located in adjacent cells and the calculated probability in AW1 cell, dependent on the degree of difficulty, and the number of bombs to deactivate. To place the bombs is needed than, in Excel Options, Formulas and Calculation Options, are enabled the iterative calculation, with 300 maximum iterations and 1 maximum change.

Calculating the number of bombs around each cell are made in the Bombs!BR8:CU23 y Bombs!FM8:GP23 ranges. Cells with deactivated bombs are in the Bombss!CY8:EB23 range, in alphanumeric format and in the Bombs!EF8:FI23 range, in symbolic format using the type "Wingdings" source.

The "History" sheet saves the games with the name of bombs deactivator, difficulty, bombs number and the time spent. To save only the states where the game is won or lost, the change of state is controlled in the History!AG1 cell.

The "Statistics" sheet saves statistics of the 10 best times for each level of difficulty and streaks of wins and losses.

This game is tested in Excel 2010. We can not enjoy in Excel 2007 the full functionality of the game.

If there is something that needs further explanation, do not leave with doubt, make a comment and I will respond asap.

Nuevas Noticias de España

$
0
0

Noticias de Leyes

Por orden gubernamental no se pueden mostrar gratuitamente enlaces a Noticias de España desde el día 1, tras la aprobación de la nueva reforma de la Ley de Propiedad Intelectual.

El Presidente del Gobierno Mariano Rajoy ha añadido un nuevo Artículo 158 ter. Función de salvaguarda de los derechos en el entorno digital.
2. B) Los prestadores de servicios de la sociedad de la información que vulneren derechos de propiedad intelectual de la forma referida en el párrafo anterior, facilitando la descripción o la localización de obras y prestaciones que indiciariamente se ofrezcan sin autorización, desarrollando a tal efecto una labor activa y no neutral, y que no se limiten a actividades de mera intermediación técnica. En particular, se incluirá a quienes ofrezcan listados ordenados y clasificados de enlaces a las obras y prestaciones referidas anteriormente, con independencia de que dichos enlaces puedan ser proporcionados inicialmente por los destinatarios del servicio.

Esto obliga a los agregadores de noticias a pagar el "Canon Google" para poder agruparlas en clusters, por tipo de noticia, orden de importancia o número de enlaces o visitas. La reforma de "la Ley más restrictiva" en Europa iba dirigida directamente al mayor prestador de este servicio, Google News, que no esperó a que acabara el año para cerrar su servicio de noticias de España, disponible en más de 70 ediciones internacionales y en 35 idiomas, lo que obliga a enterarse en los periódicos americanos de las noticias en español.

A cambio de este regalo a los grandes periódicos españoles, el Gobierno se asegura el beneplácito de los diarios y el apoyo de cara a las próximas citas electorales. Como las noticias  no podrán estar recopiladas por noticias de prensa ("clipping" en inglés) u ordenadas por predilección del público, las noticias referidas a Mariano Rajoy, Pablo Iglesias y Pedro Sánchez estarán ordenadas alfabéticamente o por orden de aparición, como les gusta a los bipartidistas. Redondo a no ser que se retire antes la reforma, para lo que ayudará firmar la petición: Gobierno: Retire el canon por cita #CanonXcita

Más noticias sobre la Ley de Propiedad Intelectual en las Noticias del buscador de Google aquí.


Buscador de Noticias de España en Excel

Como no quiero quedarme sin noticias de la prensa española, tal y como me las ofrecía Google Noticias, he comenzado el año creando esta plantilla en Excel para poder leer los titulares de las noticias más recientes de los periódicos, blogs y foros españoles que yo elija, en un formato que me recuerde a mi familiar Google News, y por lo que espero no dejar de cumplir ninguno de los derechos o leyes de Propiedad Intelectual, tanto de los medios periodísticos españoles como de los agregadores de noticias internacionales como Google.





A esta creación de mi mente humana le concedo los derechos de Copyleft, por lo que permito la libre distribución de copias y versiones modificadas de esta plantilla, exigiendo que los mismos derechos sean preservados en las versiones modificadas. Todos las obras de este blog las comparto como Software libre, que no se debe traducir como "gratis" sino como de libre distribución de las versiones modificadas de los programas informáticos.

Descarga del Buscador de Noticias


Noticias_PW2.xlsm 


Para mostrar todas las hojas de esta plantilla:
  1. Entra en el Editor VBA de las macros presionando las dos teclas a la vez Alt + F11.
  2. Abre el módulo "ModTools".
  3. Ejecuta la macro "visSheets" situándote dentro de su código y presionando la tecla F5.

La hoja "España" está protegida sin contraseña y muestra las noticias clasificadas por temas o filtradas por los medios de creación y distribución de noticias incluidos en la hoja "Titles", que incluye en la columna C las direcciones RSS de algunos creadores de noticias digitales.

Por ejemplo se puede leer en ABC.es: Noticias RSS de España y del mundo:
Gracias a los RSS, puedes suscribirte a secciones, autores o temas de ABC y recibir a lo largo del día todas las actualizaciones en tu lector (Google Reader, Netvibes, Bloglines?), sin necesidad de visitar ABC.es.

Como los RSS de algunos editores de noticias no incluyen fotos en sus últimas noticias, la primera vez que se abre la plantilla se buscan las noticias de las portadas de los periódicos y se guardan en la hoja "Source" para enlazarlas con las últimas noticias que se importan en cada una de las hojas que comienzan por "RSS" y que se agrupan en la hoja "News".

La hoja "News" se filtra por una categoría o por un diario de noticias copiando su contenido a la hoja "Section" que es la que realmente se presenta al lector de noticias, como se ve en el siguiente vídeo.




Sugerencias para usar este agregador de noticias:

  • Para ver las siguientes 20 noticias mostradas en cada página, seleccionar "Más noticias" al final.
  • Para entrar o salir del modo de "Pantalla completa" seleccionar la celda E2 arriba en el centro.
  • Para ver los logos de los periódicos, seleccionar "Periódicos", abajo a la izquierda de la página.
  • Para ver siempre el menú de la izquierda con los tipos de noticias, en vez de mover la barra de desplazamiento vertical con la rueda del ratón o haciendo clic en ella, usar las teclas de desplazamiento vertical o mejor con las teclas de cambio de página: Inicio, Fin, Re Pág, Av Pág.
  • Para elegir las noticias de un determinado periódico, seleccionarlo en la celda C2. Por defecto "España" selecciona todos los diarios.
  • Cuando aparece < No RSS Feed > no se refrescan las noticias de ese periódico.
  • Para refrescar o no las noticias de un periódico, hacer clic derecho o doble clic con el ratón en la celda C2 cuando se ha seleccionado un determinado periódico.
  • Para añadir más diarios, foros o blogs, se debe incluir una nueva fila con los datos del nuevo periódico en la hoja "Titles" y ejecutar la macro AddRSS bajo tu responsabilidad. Se creará una nueva hoja numerada con el nombre comenzando por "RSS16" y habrá que editar manualmente la tabla "TableRSS16" para eliminar las columnas que no interesen del Origen XML creado "rss_Map16". Las siguientes columnas son obligatorias para obtener las noticias del nuevo medio: title, link, description, pubDate, url. Estas columnas deben ser tratadas o manipuladas a partir del origen de datos XML del RSS feed, como se puede observar si se analizan las 15 fuentes RSS incluidas originalmente.
  • Para filtrar los titulares de las noticias, incluir un texto o borrar la celda E3.

Querido lector de noticias, ya se que no es tan fácil usar mi plantilla como buscar en Google Noticias, pero recuerda que el objetivo principal de los enlaces a las noticias es abrir los que nos interesen para leer los artículos tal y como los escribieron sus autores originales, y en esas estamos.


Reproductor de listas de vídeos

$
0
0

Reproducciones audiovisuales

Se dice que "más vale una imagen que mil palabras", y tambien que "más vale un vídeo que mil imágenes", siempre que tengamos el control de los vídeos que estamos reproduciendo, lo que no siempre es así.

Para tener el control de los vídeos debe ser posible:
  1. Crearlos.
  2. Descargarlos.
  3. Verlos en la nube.
  4. Verlos sin publicidad.
  5. Verlos sin restricciones.
  6. Volver a verlos cuando quiera.

Este artículo no trata de crearlos o descargarlos, sino de ver los vídeos en la nube, sin publicidad ni restricciones, y poder volver a verlos cuando quiera, sin tener que abrir el portal donde están alojados, al no permitir incrustarlos en otra página Web o en un blog.

10º aniversario de YouTube

En febrero se ha celebrado el décimo aniversario de YouTube, aunque realmente comenzó en mayo de 2005 en abierto, y ya van siendo muchos años viendo los vídeos en su portal con restricciones, con publicidad y con la necesidad de estar suscrito para guardar los vídeos que me gustan o los que quiero volver a ver.

Para cambiar la manera de ver vídeos, este mes de febrero he estado preparando este reproductor multicanal, escrito en Excel, que permite guardar en una tabla la lista de vídeos vistos y reproducir simultáneamente 9 vídeos, en una matriz de 3x3.

Con este reproductor no solo se pueden ver los vídeos de YouTube sino los de cualquier otra página Web, incluso ficheros .mp4, con saber su título y su dirección, aunque en ese caso se verán con publicidad, por ejemplo: //www.dailymotion.com/embed/video/x2h5q15

Reproductor de listas de vídeo

Descarga el reproductor de vídeos desde aquí:

Videos_PW1.1.xlsm


AVISO: Este reproductor es compatible con Excel 2007, aunque no se ven los controles adicionales, y con Excel 2010 y posteriores, siempre que YouTube o MS Excel no cambien la forma de incrustar vídeos en Excel.

IMPORTANTE: La primera vez que se abre se debe habilitar el contenido y las macros para poder ver los vídeos.

Este es el aspecto del reproductor:




En la hoja "YouTube" se buscan y se ven por primera vez los vídeos con anuncios desde el portal de YouTube, con o sin una suscripción. Nada más iniciarse un vídeo pregunta si se desea guardar el vídeo en la lista que, al responder que sí, se va llenando con los vídeos vistos en la hoja "List".

Al cerrar la hoja "YouTube", presionando en la cruz de la celda Q1, aparece la hoja "Videos" con una matriz de 3x3 vídeos separados en páginas de 9 vídeos.

Las características del reproductor son:
  1. Reproducción desde YouTube.
  2. Almacenamiento de los vídeos vistos en la lista de reproducción.
  3. Inclusión de un nuevo vídeo.de cualquier página Web.
  4. Reproducción simultánea y continua de 9 vídeos.
  5. Avance y parada de un vídeo.
  6. Adelanto o retraso de un vídeo.
  7. Salto al inicio o al fin del vídeo,
  8. Silencio del sonido.
  9. Aumento o disminución del sonido.
  10. Pantalla completa de un vídeo.
  11. Borrado de un vídeo.
  12. Cambio de página anterior o siguiente con 9 vídeos.
  13. Ir a la primera o última página.
  14. Mostrar u ocultar las columnas del rango R:V, con la lista de vídeos y sus controles, al hacer clic en la barra del rango Q2:Q32.
  15. Filtrar la lista de vídeos escribiendo un texto en la celda U5.
El filtrado se hace con la ayuda de la hoja auxiliar "Titles".

Cuando hayas visto los vídeos que a mí me gustan, puedes borrarlos y comenzar a ver los vídeos de tu propia lista.



Excel Chess Board PGN Viewer - Visor PGN Tablero de Ajedrez Excel

$
0
0

Chess Board PGN Viewer | Visor PGN Tablero de Ajedrez

Chess Board PGN Viewer is an Excel file which allows you to either view PGN format games. This viewer should currently be considered Beta quality, made entirely with a graphic chart to represent both the board and the chess pieces.

Visor PGN Tablero de Ajedrez es un archivo Excel que permite ver juegos de ajedrez en formato PGN. Este visor actualmente se debe considerar de calidad Beta, y está hecho enteramente con un único gráfico para representar tanto el tablero como las piezas del ajedrez.


Viewer Download | Descarga del Visor

Download the viewer from the icon (Sites Google) or the link (Microsoft Onedrive)
Descarga el visor desde el icono (Sites Google) o desde el enlace (Microsoft OneDrive)

ChessBoard_PW017.xlsx


Download this file viewer chess .pgn made entirely with formulas and a graph in Excel. It does not contain macros and it is protected without password.
Descarga este visor de ficheros .pgn de ajedrez hecho totalmente con fórmulas y un gráfico en Excel. No contiene macros y está protegido sin contraseña.

(2015-11-09) Version 016:
If Q2 = 0 it is shown the edited game in algebraic format in the R36:S135 range.
Si Q2=0 se muestra la partida editada en formato algebraico en el rango R36:S135.

(2015-11-15) Version 017:
You can edit a game in numeric format in the R36:S135 range, or a mix algebraic vs numeric.
Se puede editar una partida en formato numérico en el rango R36:S135, o una mezcla de algebraico y numérico.


Video Viewer | Vídeo del Visor

This viewer is compatible with Excel 2007 and later.
This is the aspect of the viewer in this video that explains how to use it:

Este visor es compatible con Excel 2007 y posteriores versiones.
Este es el aspecto del visor en este vídeo que explica cómo usarlo:



Next blog post | Nuevas entradas del blog

In the next few blog post I'll write about:
En las próximas entradas del blog escribiré sobre:
  1. How to graph a board game with an Excel chart.
    Cómo hacer un tablero de juego con un gráfico Excel.
  2. How to display chess pieces in an Excel chart.
    Cómo mostrar piezas de ajedrez en un gráfico Excel.
  3. How to convert PGN files to chess games.
    Cómo convertir ficheros en formato PGN en juegos de ajedrez.
  4. How to convert algebraic to numeric chess notation.
    Cómo convertir la notación de ajedrez algebraica a numérica.

Related links | Enlaces relacionados

Based on the Excel craft by Daniel Ferry:
Excel 2007 Chess Game Viewer | Excel Hero Blog

SVG chess pieces/Maurizio Monge
Chess | Pedro Wave for Excel Guys
Wikipedia - Portable Game Notation (PGN)

Ajedrez | Pedro Wave for Excel Guys
Wikipedia - Notación portable de juego (PGN)
AyudaExcel.com - Visor de ajedrez de partidas pgn


How to make a board game - Cómo hacer un tablero de juego

$
0
0

Cómo hacer un tablero de juego en Excel

Read the English translation below, towards the middle of this blog post.

He creado tres tableros de juego con un gráfico de columnas apiladas en Excel (ver cómo hacerlo aquí).

El primero es el más sencillo, con 64 cuadros coloreados alternadamente, para lo que ha hecho falta crear 16 series de datos de 8 elementos cada una, para que se muestre cada columna apilada verticalmente como 4 cuadros de color claro y otros 4 cuadros de color oscuro. Puedes verlo en la hoja "BoardGame1".


El rango de datos del gráfico es =BoardGame1!$M$4:$AC$12

El eje X va numerado del 1 al 8 en notación numérica o como letras "a-h" en notación algebraica, lo que se puede seleccionar con un desplegable en la celda M15.
El eje Y va numerado del 1 al 8, siendo visibles los valores de las series con valor 1.

El nombre de las series es "SerieYZ", siendo el valor de:
Y = la posición que ocupa la serie en el eje Y.
Z = el tipo de serie: 0 - color claro; 2 - color oscuro.

Cada par de series acabadas con un mismo valor Y ocupa esa posición en el eje Y, por lo que una serie tiene que tener 4 ceros y 4 unos alternados para formar el tablero.

Para comprender mejor cómo está construido, descarga el fichero desde los enlaces de más abajo y desprotege la hoja, que está guardada sin contraseña.

Experimenta con los valores de las series, cambiando un 0 por un 1 o por cualquier valor entre 0 y 8.
Para aprender más deberías pinchar en un cuadro del gráfico y cambia su color de relleno o lo que quieras de cada serie para ver el resultado.

Observa que para que este tablero sirva como tablero de ajedrez, el cuadro inferior derecho debe ser de color claro.

Descarga del tablero de juegos

Descarga el archivo desde el icono (Sites Google) o desde el enlace (Microsoft OneDrive)

BoardGame_PW10.xlsx


Antes de descargar estos tableros puedes verlos directamente un poco más abajo en el blog, aunque no tengas instalado Excel, donde puedes modificar las siguientes celdas de las 3 hojas con los ejemplos de tablero de juegos:

BoardGame1: M15 para cambiar la notación numérica o algebraica del eje X.

BoardGame2: M15 y M26 para cambiar el tipo de tablero: 1 - Clásica o 2 - Moderno.

BoardGame3: M15, M26, Q15 para ver las series de último movimiento, S15 y U15 para introducir las casillas de inicio y fin del último movimiento de una pieza (piezas de ajedrez no representadas).





En la hoja "BoardGame2" hacen falta 24 series nombradas "SerieYZ" siendo:
Z = el tipo de serie: 0 - color claro; 1 - color oscuro clásico y 2 - color oscuro moderno.
El tipo de tablero clásico o moderno se selecciona en la celda M26.

En la hoja "BoardGame3" hacen falta 40 series nombradas "SerieYZ" con los valores de Z anteriores mas los siguientes valores:
Z = a : series de color azul claro con la posición inicial del último movimiento de una pieza.
Z = b : series de color azul oscuro con la posición final del último movimiento de una pieza.

Para que no aparezcan estas dos series con el último movimiento, el valor de la celda Q15 = 0.
Si Q15 = 1, se colorean los cuadros de los últimos movimientos introducidos en las celdas S15 y U15, siendo su valor de dos dígitos, del tipo: AB, donde A y B valen 1 a 8.

Puedes ver cómo ha servido este tablero para ver partidas de ajedrez en el siguiente enlace:
Excel Chess Board PGN Viewer - Visor PGN Tablero de Ajedrez Excel

How to graph a board game with an Excel chart.

I have created three boards game with a stacked column chart in Excel (see how here).

The first is the simplest, with 64 squares colored alternately, for which it has been necessary to create 16 data series of 8 elements each, to be displayed each column vertically stacked like 4 squares of light colored and 4 other squares dark color. You can see it on the "BoardGame1" sheet.


The data range of the graph is =BoardGame1!$M$4:$AC$12

The X axis is numbered from 1 to 8 in numeric notation or as letters "ah" in algebraic notation, which can be selected with a dropdown in cell M15.
The Y axis is numbered from 1 to 8, the series are visibles with value 1.

The name of the series is "SerieYZ", being the value of:
Y = the position of the series on the Y axis.
Z = the type of series: 0 - light color; 2 - dark color.

Each pair of series, finished with the same Y value, occupies that position in the Y axis, so that a serie must have 4 zeroes and 4 ones to form a staggered board.

To better understand how it is built, download the file from the links below and unprotects the sheet, which is saved without a password.

You can experiment with the values of the series, changing a 0 to a 1 or any value between 0 and 8.
To learn more you should click on a square of the graph and change its fill color or whatever you want of each series to see the result.

Note that for this board serves as a chessboard, the lower right square should be light in color.

Download the board game

Download the file from the (Google Sites) icon or from the links (Microsoft OneDrive)

BoardGame_PW10.xlsx


Before download these boards you can see them directly further down in this blog, even if you have not installed Excel, where you can modify the following cells of the 3 sheets with examples of board games:

BoardGame1: M15 to change the numeric or algebraic notation from the X axis.

BoardGame2: M15 and M26 to change the board type: 1 - Classic or 2 - Modern.

BoardGame3: M15, M26, Q15 to see the last movement series. S15 and U15 to enter the start and end square with the last movement of a piece (chess pieces not shown).





In the "BoardGame2" sheet it takes 24 named series "SerieYZ" being:
Z = the serie type: 0 - light color; 1 - dark classic color; 2 - dark modern color.
The type of classic or modern board is selected in the M26 cell.

In the sheet "BoardGame3" are needed 40 series named "SerieYZ" with Z values above plus the following values:
Z = a: light blue series with the starting position of the last movement of a piece.
Z = b: dark blue series with the final position of the last movement of a piece.

To not appear these two series with the last move, the value of the cell Q15 = 0.
If Q15 = 1, the pictures of the latest moves introduced in the S15 and U15 cells are colored, and its value of two digits as AB, where A and B are worth 1-8.


You can see how it has used this board for chess games in the following link:
Excel Chess Board PGN Viewer - Visor PGN Tablero de Ajedrez Excel

Calculadora de premios de la Lotería de Navidad

$
0
0

Calculadora de premios en Excel

¿Y si nos ha tocado la lotería? (cosa estadísticamente muy poco probable)

¿Y si nos toca pagar la lotería? (cosa segura)


O acaso hay alguien tan boyante económicamente que pueda pagarla en metálico o en "negro". Si lo normal es tener que pedir un crédito para poder comprar los décimos de la lotería...


Calculadora de visitas a este blog

Adelanto que a mí tampoco me ha tocado este año, pero voy camino de acabar el año alcanzando el medio millón de visitas a este blog, gracias a lectores como tú que se interesan por los artículos que voy escribiendo siempre que puedo.

Para comprobar los números de la Lotería de Navidad con Excel ¡como a mí me gusta! y ¡saber si aún debemos pagar 21 € por un café!, si nos pasa como al del anuncio del año pasado que no tenía ni metálico para comprarla, ahí va mi propuesta:

En lugar de bajar a la cafetería a que nos entreguen un sobre cerrado que no sabemos que contiene y darnos una sorpresa, podemos bajarnos esta Calculadora de premios de la Lotería de Navidad.

Si alguno sigue sin querer bajar a la cafetería que busque en Internet.

http://www.loteriasyapuestas.es/es/loteria-nacional

A mí, como a la mayoría, me toca pagar todos los años la lotería a los premiados, afortunados a los que les ha tocado el Gordo de Navidad y a ¡Hacienda somos todos!


Descarga la Calculadora de premios "gordos" y "finos"

Descarga el archivo desde el icono (Sites Google) o desde el enlace (Microsoft OneDrive)

LoteríaNavidad_PW2.xlsx



Con este aporte se pueden descargar los números de la página oficial, pues desde el fichero .pdf que publican no se permiten copiar los números premiados:

http://www.loteriasyapuestas.es/f/loterias/documentos/Loter%C3%ADa%20Nacional/listas%20de%20premios/SM_LISTAOFICIAL.A2015.S102.pdf




La imagen anterior muestra las opciones de seguridad del fichero descargado con la lista completa de los números de la lotería, excepto que la Impresión es de "Alta resolución", y no permite la copia del contenido y ni siquiera está activada la accesibilidad al contenido, por lo que no ayuda a obtener la lista de números en Excel.

Con mi aporte se establece una conexión a la web de Loterías y Apuestas del Estado:

http://www.loteriasyapuestas.es/es/loteria-nacional/tablas-y-alambres?drawId=930609102

Y se consigue un listado de los 10 alambres de cada una de las 10 tablas de extracciones, se generan automáticamente y se pueden consultar todos los números premiados el 22 de diciembre, excepto para los reintegros de la última cifra del premio "GORDO", que se calculan con una fórmula adicional.

Por supuesto que mi plantilla no contiene ninguno de los números de la lotería pues, si así fuera, tendría que pagar "royalties" al Estado (en la lengua española serían regalías) y cada cual es libre de conectar y descargar los números premiados con la plantilla.

INSTRUCCIONES:
  1. Hacer clic en "Habilitar contenido" en respuesta a la Advertencia de seguridad: Se han deshabilitado las conexiones de datos
  2. Menú: Datos | Actualizar todo (Ctrl + Alt + F5): Actualiza la hoja "Alambres" conectando a Loterías con "Conexión Lotería"
  3. En la hoja "Números" con el menú: Datos | Actualizar (Alt + F5): Actualiza la tabla dinámica "TablaDinámicaNúmeros"


Calendario Excel 2016

$
0
0

Calendario Perpetuo en Excel

Para comenzar bien el año 2016 nada como tener a mano un calendario anual completo y otro mensual escritos en Excel, con fotos propias de fondo que se pueden imprimir.


Las fotos las tomé en el río Ebro a su paso por Zaragoza durante la Expo del Agua del año 2008.

Para cambiar el mes o el año (del 1900 al 9999) se tienen que editar las celdas de la hoja "Calendario".


Para quienes quieran un calendario anglosajón también se puede cambiar el día de comienzo de la semana.

Descarga del Calendario Excel 2016

Descarga el archivo desde el icono (Sites Google) o desde el enlace (Microsoft OneDrive)

Calendario_PW2.xlsx


Este es el artículo más corto que he escrito hasta ahora, pero espero que sirva para seguir aumentando el número de visitas al blog, que ya pasa de medio millón. Muchas gracias a todos y

¡¡¡ Feliz Año Nuevo en Excel 2016 !!!


Buscador de libros en Excel

$
0
0

Buscador de libros en Excel

Para comenzar bien el año 2017 nada como tener a mano un buen Buscador de libros en Excel, en formato pdf, ppt, doc o xls.

En la hoja "Navegador" se selecciona el tipo de archivo, el idioma, el número de resultados y los términos de búsqueda y se hace clic en el botón "Buscar", con lo que se mostrarán los resultados de la búsqueda, como enlaces a los libros.

Para guardar los enlaces, se hace clic en el botón "Cargar archivos en la biblioteca".


Biblioteca

La hoja "Biblioteca" contiene los libros encontrados, con su descripción y enlace, tipo, idioma, término de búsqueda y se pueden añadir comentarios y valorar con 5 estrellas cada uno de los libros.


Se puede descargar un libro seleccionándolo y haciendo clic en el botón "Descargar ahora".

Se puede leer el libro descargado, o abrir uno en el navegador, haciendo clic en el botón "Read More".

Descarga del Buscador de libros

Descarga el archivo desde el icono (Sites Google) o desde el enlace (Microsoft OneDrive)

Libros Excel - PW10.xlsm


A poco que uses este buscador crecerá tu biblioteca de libros en Excel.
¿Por qué no pruebas a buscar enlaces sin tipo de archivo?

Te agradeceré que escribas un comentario diciendo cuáles son los mejores libros que has encontrado en Excel y adjunta su enlace para compartirlo.

Nueva Agenda Calendario de Fases Lunares - New Moon Phases Calendar Planner

$
0
0

Nueva Agenda Calendario de Fases Lunares

New Moon Phases Calendar Planner

He creado y acabo de publicar una nueva agenda calendario de fases lunares, con la que poder guardar todos los recuerdos del siglo XX y todos los eventos que nos aguardan en el siglo XXI, y que espero que te guste pues esta plantilla la he hecho con mucha ilusión.

En esta primera versión he cargado las fases lunares de dos años, del 2018 y del 2019, pero la plantilla está preparada para cargar las fases lunares desde el año 1901, en que comenzó el siglo XX, hasta el año 2100 en que finalizará el siglo XXI, o ses, desde el último siglo del II milenio hasta el primer siglo del III milenio.


Calendario

En la hoja 'Calendar' se muestra un mes seleccionable por medio de un desplegable de año y de mes, o por controles de incremento y decremento, con los que cambiar rápidamente de mes y de año.

Los días vienen marcados en azul de lunes a viernes o en rojo si son sábados o domingos.  Si son festivos se marcan en color verde, por ejemplo el día 5 está señalado de vacaciones.

Se puede elegir si la semana comienza en lunes o en domingo, que es en lo poco que coinciden América del Norte y los Estados Islámicos.

Para mostrar las 4 fases lunares he usado los siguientes caracteres del tipo Wingdings 2: ☽ (creciente) 🌕 (llena) ☾ (menguante) 🌑 (nueva).

El día y la hora en que ocurren las fases lunares se muestran en el calendario y dependen de la zona horaria del observador, denominada huso horario. Por eso se puede elegir la zona horaria (Time Zone) en el calendario, además de poder seleccionar mediante una casilla de verificación si la zona horaria es del este (East) o del oeste (West), siendo la hora positiva o negativa respectivamente. El valor de la zona horaria se puede editar con un decimal para poder contemplar  medias horas, por ejemplo en el caso de la India que se debe introducir como 5,5 pues le corresponde el huso horario UTC+05:30.

También se visualiza el día actual con un hiperenlace a la agenda. Cada uno de los días contiene un hiperenlace marcado con 3 puntos suspensivos "..." debajo del número de día, que lo redirige al día y la hora de la agenda en la que se guarda el texto del evento, por ejemplo el día 21 hay que renovar un permiso pues es lo que está escrito en la agenda. Si en la agenda se escriben para un mismo día varios eventos en dos horas diferentes, el hiperenlace lleva a la hora del primer evento, o a la segunda columna si es un día festivo.

Agenda

En la hoja 'Planner' está la agenda completa con los días en la columna A, filtrada por defecto para este año 2018.

La agenda contiene todos los días de 201 años, desde 1900 hasta 2100, lo que hace un total de 73.414 días, uno en cada fila, aunque  en la hoja 'Calendar' no se ha incluido el año 1900 por ser del siglo XIX y porque Microsoft Excel lo trata como bisiesto aunque no lo es, como se explica en este enlace: Excel incorrectly assumes that the year 1900 is a leap year

La columna B se usa para indicar el motivo de un día festivo (Holiday) que quedará marcado en color de fondo verde, tanto en la agenda como en el calendario. Este motivo editado en la agenda aparece en el calendario debajo del número de día de fiesta, con un hiperenlace a la agenda, como ya se ha explicado anteriormente.

Las columnas C a Z son para cada una de las 24 horas del día, desde las 0:00 horas hasta las 23:00 horas, pudiendo editar las celdas de las 24 horas de cada día en la agenda, lo que sirve como perfecto recordatorio de todos los eventos que se guarden en la agenda.

Fases Lunares

En la hoja 'Moon Phases' están las 4 fases lunares de los años 2018 y 2019, con sus fechas y horas según el Horario Universal (UT - Universal Time).

Estos tiempos se ajustan para que en el calendario aparezcan convertidos a la Zona Horaria seleccionada.

Las fases de la luna se han descargado de:
Phases of the Moon
by The United States Naval Observatory (USNO)

Ayuda

En la hoja 'Help' está la ayuda que es conveniente leer alguna vez para saber más acerca de esta Nueva Agenda Calendario de Fases Lunares.


Descarga de la Agenda Calendario de Fases Lunares

Descarga el archivo desde el icono (Sites Google) o desde el enlace (Microsoft OneDrive)

New_Moon_Phases_Calendar_Planner_PW1.xlsx

Esta agenda-calendario no contiene macros y es compatible a partir de Microsoft Excel 2007.

Se debe hacer clic en el botón "Habilitar edición" si aparece un mensaje informativo de "Vista protegida" para poder usar esta plantilla, siempre que confíes en el autor de este blog, Pedro Wave.

Si esta agenda tiene éxito, en un próximo articulo explicaré cómo incluir las fases lunares de otros años. Si no, igual pasa un año hasta que publique otra vez.

Si eres curioso como yo, puedes desproteger las hojas con la contraseña: Lunar

En el siguiente enlace tienes otros 22 calendarios que he publicado hasta la fecha: https://pedrowave.blogspot.com.es/search/label/calendario

Tasas de desempleo de la UE

$
0
0

EU Unemployment Rates: link to this post in English

Tasas de desempleo de la UE

Desde que el Covid-19 está entre nosotros se ha disparado salvajemente el número de desempleados en todo el mundo por lo que, a partir de ahora, habrá que analizar y controlar las tasas de desempleo desde marzo de 2020 en España o en cualquier otro país del mundo, aunque esta tarea la dejo para un próximo artículo si os gusta esta entrada del blog que es la primera después de más de 2 años sin publicar nada.

En este artículo pretendo mostrar las tasas de desempleo de los países de la UE desde 1990 hasta 2019, para poderlas comparar en un futuro con las tasas de 2020. El último dato del que dispongo es de marzo de 2020.


Esta plantilla ha sido diseñada totalmente en Excel, para que pueda llegar a muchos más usuarios que si se usan herramientas como Power Maps, Power View o Power BI, que no tienen instaladas ni conocen muchos de los usuarios de Excel.

Agradecimientos

Es la primera vez que publico a partir de una plantilla que no he creado yo. Como la versión original está descargada de un blog escrito en inglés, la plantilla modificada también está en inglés, sin traducir al español, lo que espero que no sea un impedimento para mis lectores.

En esta ocasión he modificado y actualizado una plantilla del fenomenal analista y visualizador de datos Robert Mundigl, autor del blog Clearly and Simply, con las tasas de desempleo de la UE desde 1990 hasta 2014, que se puede leer y descargar en el siguiente enlace:


He aprendido mucho de este artículo por lo que lo recomiendo encarecidamente a quienes quieran superarse en Excel. He aprendido cómo:
  • Crear un mapa coroplético: mapa temático en el que las áreas se sombrean de distintos colores, como puede ser la densidad de población o la renta per cápita, en este caso: las tasas de desempleo.
  • Crear una tabla parcial de datos seleccionada con barras de desplazamiento.
  • Seleccionar un país o un año en la tabla parcial desplazable.
  • Seleccionar un país en el gráfico de barras.
  • Hacer interactivo un mapa, una tabla, un gráfico...
  • Seleccionar e interactuar con distintos grupos de edad.
Todo esto está muy bien explicado en la entrada del blog original, por lo que vuelvo a recomendar su lectura en español a quienes se les resiste el inglés, gracias al traductor de Google:

Origen de las tasas de desempleo de la UE

El indicador presenta tasas de desempleo para diferentes grupos de edad. La tasa de desempleo representa a las personas desempleadas como un porcentaje de la fuerza laboral. La fuerza laboral es el número total de personas empleadas y desempleadas. El indicador se basa en la Encuesta de población activa de la UE. Se pueden descargar las tasas de desempleo de 2005 a 2019 para los países de la UE, según varios rangos de edades, desde el siguiente enlace:

eurostat - Unemployment rate by age

Para el año 2020 se han usado las tasas mensuales de desempleo, descargadas del siguiente enlace:

ILOSTAT - Unemployment rate by sex and age (%) - Monthly

Actualización de las tasas de desempleo de la UE por edad

En la versión original del blog Highlighting on Excel Dashboards se muestran datos desde 1990 hasta 2014. En la plantilla que publico ahora se han actualizado las tasas de desempleo de 1995 a 2019 y se ha añadido la tasa de desempleo de marzo de 2020, justo antes de que esta maldita pandemia afectara al empleo de los trabajadores de todo el mundo. Los grupos de edad originales eran dos: de 26 a 74 años y menores de 25 años. Originalmente no hay datos en el rango de edad de 15 a 74 años, por lo que hay una laguna para ese rango en el período de 1990 a 1994.

En la plantilla actual se han incluido 3 grupos de edad:
  • 15 a 74 años para toda la fuerza laboral, o sea toda la población activa.
  • 15 a 24 años para los jóvenes.
  • 25 a 74 años para los adultos.
En la hoja 'data' se encuentran las 3 tablas de datos por edad. Se han modificado las hojas 'control'; 'calcs' y 'charts' para incluir los años 2015 a 2020. Estas hojas están suficientemente explicadas en el blog original que he compartido mas arriba.
 

Cambios en la plantilla original

No soy quien para modificar la excelente plantilla que publicó Robert Mundigl, al que le he solicitado permiso antes de modificarla, autor del magnífico blog Clearly and Simply. Lo único que puedo decir como desagravio es que no he mejorado la interactividad original, pues es una labor de gigantes en Excel, lo que seguro que necesitó de un extraordinario esfuerzo por parte de su autor.

Lo que si que me he atrevido a mejorar es la entrada de datos de la cabecera, que permite seleccionar el país, el año y el grupo de edad, y he añadido una animación interactiva a la plantilla para darle más vida.

La interfaz gráfica de usuario en la plantilla original tenía este aspecto:
 



En ella hay tres Controles de Formulario para elegir país, año y grupo de edad. Estos Controles de Formulario se pueden ampliar pero el texto no cambia de tamaño, siendo difícil de ver para los que somos cortos de vista como yo.
     















La nueva interfaz gráfica tiene este otro aspecto:
 



Los Controles de Formulario se han sustituido por Controles ActiveX del tipo cuadro combinado (ComboBox) que si que permiten modificar el tamaño de la fuente de texto, siendo mucho mas legibles:
       


Además se ha añadido una barra de desplazamiento (ScrollBar) para poder seleccionar más comodamente los años, de uno en uno o de cinco en cinco, sin tener que usar el desplegable de años, pudiendo ir adelante o atrás:
 

Otra mejora ha sido adaptar la tabla parcial de 10 países x 10 años para que se desplace automáticamente al país o al año seleccionado, pero sin cambiar la vista parcial si ya se ve el país o el año seleccionados

También he incrustado los gráficos de bandas y de líneas en la hoja 'dashboard' para poder analizar sus series fácilmente, pues originalmente había que hacerlo desde la hoja 'charts'.
 

Nuevas macros

Para que los nuevos Controles ActiveX funcionen se han añadido varias macros en la hoja 'dashboard':
  • ComboBox1_Change: para cambiar de país con el desplegable.
  • ComboBox2_Change: para cambiar de año con el desplegable.
  • ScrollBar1_Change: para cambiar de año con la barra de deslizamiento.
  • ComboBox3_Change: para cambiar de grupo de edad con el desplegable.
  • Función ScrollTable: para cambiar la vista de la tabla parcial deslizante.
En el objeto 'DieseArbeitsmappe' (originalmente en alemán), o sea en el objeto 'ThisWorkBook', se han incluido dos macros para los eventos:
  • Workbook_Open: para proteger algunas hojas y detectar el idioma de Excel.
  • Workbook_BeforeSave: para proteger algunas hojas.
Módulo "modChangeChart":
  • ChangeChart: Cambia la visibilidad del gráfico de bandas o de líneas. Ya no se muestran como gráficos seleccionados con la Cámara de Excel, sino que están incrustados en la hoja 'dashboard' para poder analizar sus series interactivamente, para lo que se han renombrado las series con los nombres de los países en el gráfico de líneas. La hoja 'charts' se ha mantenido para respetar la plantilla original, pero podría ser eliminada sin problemas.
Módulo "modChangeProtect":
  • ProtectSheets: protege todas las hojas (excepto la hoja 'charts', pendiente de analizar por qué no se pueden proteger) de la acción de los usuarios pero no de las macros, gracias al argumento de la función Protect: UserInterfaceOnly:=True
  • UnprotectSheets: desprotege todas las hojas si se ejecuta manualmente.
Módulo "modChangeLanguage":
  • ChangeLanguageFormat: Detecta el idioma de Excel y manda cambiar el formato de años en los gráficos.
  • ChangeYearFormat: Cambia el formato de dos dígitos de los años en el eje horizontal de los gráficos de bandas y de líneas, según el idioma:
    • Inglés: yy
    • Español: aa
Módulo "modChangeYear":
  • InitializeYear: Arranca o para el temporizador de n segundos (n = 0 a 10 sec delay).
  • LoopYear: Bucle desde el primer año al último año. Este bucle no refresca los controles ActiveX: ScrollBar1 y ComboBox2 hasta que no acaba el bucle, ¿alguna sugerencia?
  • ChangeYear: Cambia el año de modo temporizado por el número seleccionado de segundos, desde el año en curso y cuando llega a 2020 continua en 1990.
  • StartTimer: Arranca el temporizador con la función: Application.OnTime
  • StopTimer: Para el temporizador.
  • ColorTimer: Pone color rojo cuando el temporizador está corriendo.
El módulo anterior se usa en la nueva interacción animada que se consigue con este icono de un reloj de arena:


Cuando se hace clic en el reloj arranca el temporizador, cambiando al siguiente año cuando transcurre el número de segundos de retraso elegidos (retraso de 1 a 10 segundos), poniéndose en color de fondo rojo para indicar que la animación está en marcha. Si se eligen 0 segundos, se inicia un único bucle desde el primer al último año. En cualquier momento se puede volver a hacer clic en el reloj de arena para detener la animación.

Esta animación es muy rudimentaria. Si se quiere aprender más sobre animaciones de mapas en Excel no hay nada mejor que leer esta interesante entrada al blog del mismo autor:
 

Descarga de la plantilla

Descarga el archivo desde el icono (Sites Google) o desde el enlace (Microsoft OneDrive)

EU_Unemployment_Rates_PW1.xlsm


Esta plantilla está escrita en inglés  y es compatible con versiones a partir de Microsoft Excel 2007.
 
Contiene macros, que hay que permitir para activarlas, y se debe hacer clic en el botón "Habilitar edición" si aparece un mensaje informativo de "Vista protegida" para poder usar esta plantilla, siempre que confíes en el autor de este blog, Pedro Wave.

Si eres curioso como yo, puedes desproteger las hojas para estudiarlas, ya que están protegidas sin contraseña.

Espero haber conseguido mejorar la interactividad de la plantilla original y que los datos actualizados sean útiles para estudiar las tasas de desempleo en la UE.
 

Copyright

Yo, Pedro Wave, estoy publicando bajo una licencia Creative Commons License:

Attribution-NonCommercial-ShareAlike 3.0 Unported (CC BY-NC-SA 3.0)






Los términos de la licencia son:
  • Atribución: Otorgue el crédito apropiado, especialmente mantenga mi nombre y el nombre de mi blog en el libro de trabajo y el código.
  • Compartir igual: Regalarlo gratis. Lo estoy regalando gratis, así que también tiene que hacerlo igual.
  • No comercial: No use mi plantilla y código para crear una plantilla o libro de trabajo para la venta comercial.
Siempre y cuando sigas estos términos, se te permite transformar y cambiar la plantilla publicada y compartirla en tu blog o distribuirla de otras maneras.

Lo importante es que puedas aprender técnicas nuevas con esta plantilla y mejorar tu experiencia en Excel, con lo que habré conseguido el objetivo que me he propuesto desde que creé este blog hace más de 10 años.

Desempleo activo

Llevaba más de dos años sin publicar una entrada nueva en este blog, que tantas horas de satisfacción y aprendizaje me ha deparado, y ahora vuelvo a escribir pues el coronavirus me ha dejado profesionalmente parado durante unas semanas y engrosando las estadísticas del desempleo desde este mes.
 
Voy a intentar dedicar este tiempo a seguir en activo, publicando más entradas en el blog, para lo que quisiera que los lectores me déis ideas diciéndome que es lo que os gustaría que publicara a partir de ahora, para lo que os animo a escribir un comentario en esta entrada.
 
Gracias anticipadas por vuestra atención.

Desempleo de la UE con banderas

$
0
0

EU Unemployment Rates with flags: link to this post in English

Tasas de desempleo de la UE con banderas

Aviso para navegantes: Esta entrada es bastante extensa por lo que, si sólo quieres descargarte la plantilla, ves al final de esta entrada del blog pero, si quieres aprender técnicas nuevas en Excel, tendrás que leer y estudiar todo el artículo y analizar las fórmulas, nombres definidos, formas y macros VBA de la plantilla descargada.

Introducción

Esta entrada del blog es la continuación de la que publiqué hace 2 semanas en el siguiente enlace: Tasas de desempleo de la UE basándome en el tablero que Robert Mundigl publicó en su excelente blog clearlyandsimply.com - Highlighting on Excel Dashboards.

Ahora intento mejorar este cuadro de mando, incluyendo 3 mejoras. A mí se me ocurrió la primera y Robert hizo comentarios (traducidos del inglés con el traductor de Google) sugiriendo las otras dos mejoras:

Mejora 1) Información emergente (tooltip) con banderas
 
Cuando pasa el ratón por encima (evento MouseMove) de un país del mapa de la UE, se muestra su nombre, su tasa de desempleo para el año seleccionado y su bandera. Esta es la principal mejora y es la que más me ha costado desarrollar.

Comentario de Robert:
Según tu segunda sugerencia: Me interesaría mucho cómo proporcionarías una descripción con el nombre del país, la tasa de desempleo y la bandera al pasar el ratón sobre el mapa. No sé cómo lograr esto, así que estaría muy interesado en ver cómo harías esto.

Mejora 2) Cambiar país con el gráfico de líneas

Poder seleccionar un país haciendo clic en la serie del gráfico de líneas.

Comentario de Robert:
Finalmente, reemplazaste la imagen vinculada por dos gráficos y usaste el código VBA para hacerlos visibles o invisibles. Esta es una buena idea, pero solo si aprovecha el hecho de tener el gráfico en su tablero, es decir, para seleccionar un país haciendo clic o desplazándose sobre las líneas con el mouse. Echa un vistazo a esta publicación, donde se explica la selección de una serie de datos al pasar el mouse sobre:

Mejora 3) Nuevos botones de animación

El reloj de arena ha sido sustituido por los botones de animación: Play, Pause, Stop.

Comentario de Robert:
Animar la vista es una gran idea. No lo he hecho en mi artículo, porque quería centrarme en resaltar todas las vistas de un tablero. Pero definitivamente es una buena idea. Dicho esto, aún preferiría los botones de reproducción que utilicé en mis libros de animación, porque creo que son más intuitivos que un icono y una barra de desplazamiento. Si el usuario ve los botones de reproducción en un tablero, comprende inmediatamente para qué sirven. Este no es el caso con un icono de reloj de arena y una barra de desplazamiento. Echa un vistazo al libro de trabajo que viene con esta publicación, por ejemplo:

Mejora 1) Información emergente (tooltip) con banderas

La idea de mostrar información emergente con el nombre del país y la tasa de desempleo me pareció demasiado sencilla, por lo que añadí el reto de mostrar la bandera. Eso ya no es tan fácil, como Robert Mundigl dijo en sus comentarios en una de mis publicaciones en Linkedin:

 
Proporcionar una tooltip sobre mapas de formas en hojas de cálculo de Excel no es tan fácil como puede sonar. Por lo que sé, sólo hay dos soluciones para hacer esto y ninguna de ellas funcionará realmente para este panel:
 
La opción 1 es la brillante técnica de mi amigo Jordan Goldmeier (hipervínculos que desencadenan una función definida por el usuario VBA), como se describe aquí:
https://optionexplicitvba.blogspot.com/2012/09/the-excel-rollover-mini-faq.html
Esto funciona muy bien, pero requiere una cuadrícula de celdas minimizada debajo de las formas (alturas de fila muy estrechas y anchos de columna) y esto se convierte en un problema con el diseño del panel, si está utilizando otros rangos de celdas para mostrar, por ejemplo, la tabla desplazable o las etiquetas de eje del gráfico de barras.
 
La opción 2 usa la agregación de hipervínculos a las formas del mapa. Los hipervínculos están "muertos" y hacer clic en ellos no hace nada, pero se puede usar VBA para aprovechar las sugerencias de pantalla del hipervínculo para mostrar el nombre y la tasa de desempleo del país (pero no la bandera...). Echa un vistazo a este post de 2010, donde esta técnica se utiliza en un mapa de Argentina:
https://www.clearlyandsimply.com/clearly_and_simply /2010/02/spice-up-your-choropleth-maps-with-excel.html
Importante desventaja de esta 2ª opción: ya no se puede hacer clic en la forma para seleccionar un país. Para mí, este es un no-go para el tablero, porque el clic y la selección es más importante que la tooltip en mi humilde opinión.
 
De todos modos, no dejes que te desanime. Si tienes una idea de cómo mostrar una tooltip para las formas en los gráficos de Excel, me encantaría verla.

Tengo que decir que estas dos opciones ya las conocía yo. La segunda opción no permite mostrar la bandera, por lo que se tiene que descartar. La primera opción se basa en la increible técnica de Jordan Goldmeier, con el excelente truco con el efecto rolloverque he estado usando durante 7 años, desde que conocí a nuestro amigo común Jordan. Ver mi ejercicio con el efecto rollover en este enlace: pedrowave.blogspot.com - Como pintar con Excel

El problema con esta opción es crear una retícula con gran cantidad de filas y columnas, lo que sólo se puede hacer si el mapa es lo único que hay en la hoja y éste no es el caso.

Hay una tercera opción que permite mostrar los datos del país y su bandera en un cuadro con información emergente (tooltip) que voy a exponer a continuación.


Este vídeo está grabado con una versión preliminar que después ha sido mejorada para que la información del país y su bandera persiga al ratón, que estará centrado en el cuadro emergente (tooltip). También se ha añadido la posibilidad de fijar la tooltip y que cambie cuando se mueva el ratón por encima de los países del mapa y la posibilidad de ocultar la tooltip. Por supuesto que, haciendo clic encima de la tooltip, queda seleccionado el país sobre el que está el ratón.

Técnicas empleadas para mostrar la tooltip con datos del país y su bandera

A) Las formas de la hoja 'dashboard'se ordenan en varias capas de información:

1) Capa superior con los controles: Combobox; Scrollbar; DropDown; Option Button; Charts.

2) Capa de etiquetas invisibles (control ActiveX): Cada etiqueta se nombra con "L_" y la abreviatura del país con 3 letras. Este es el truco principal pues las etiquetas activan el evento MouseMove cuando el usuario mueve el ratón, lo que permite modificar la información de la tooltip.

3) Capa de la Tooltip con una única imagen obtenida con la cámara de Excel. Al situar esta capa entre la capa de etiquetas y la capa de formas con los contornos de los países, es posible que la tooltip siga los movimientos del ratón de manera continua. 

4) Capa de formas de los países. Son las formas originales con las fronteras de los países y sus áreas coloreadas para formar el mapa cloropético. Cada forma se nombra con "S_" y la abreviatura del país con 3 letras. 

5) Capa inferior con el resto de formas: Países fuera de la UE; Map Icon; Play Button Circle; Image_Copyright. 

El ordenamiento de estas capas se ha hecho desde el menú: Inicio | Buscar y seleccionar... | Panel de selección..., con las formas de la hoja.

B) De estas capas, nos interesan sólo dos: la Tooltip y las etiquetas invisibles.

1) Capa con la Tooltip:
 
Denominada TooltipMap en la hoja 'dashboard', está generada con la cámara de Excel y con la siguiente fórmula: =tooltip!$B$3:$D$7
 
En la hoja 'tooltip' se obtiene el nombre del país, su tasa de desempleo para el año seleccionado y su bandera, a partir del valor de la celda G8 con el nombre: Tooltip_Country
 
En las celdas C4 y H8 se obtiene la bandera a partir del nombre definido: myFlag con la siguiente fórmula:

=INDICE(TableTooltipCountry[Flag];COINCIDIR(Tooltip_Country;TableTooltipCountry[Shape];0);1)
 
La tooltip no se mueve cuando no está chequeada la casilla de verificación "Move", en cuyo caso se muestra en una posición fija y con una línea alrededor, con el color azul de la bandera de Europa, RGB(0,51,153):

  

Se han dispuesto dos casillas de verificación (checkbox) para actuar sobre la Tooltip mediante la macro ChangeTooltipStatus:
Visible: para mostrar u ocultar la Tooltip.
Move: para permitir el movimiento de la Tooltip o dejarla inamovible en una posición fija.
Estos dos checkbox se han simulado en dos celdas de la hoja y llaman a la macro ChangeCountryTooltip
 
El formato de la Tooltip es fácilmente modificable a gusto del usuario con sólo editarlo en la hoja 'tooltip' y modificar la tabla TableTooltipCountry con los datos a informar.



2) Capa de etiquetas invisibles:
 
Esta es la nueva capa añadida al efecto para poder mover la Tooltip con la bandera a través de las áreas de los distintos países de la UE siguiendo el movimiento del ratón, por lo que esta mejora es la principal aportación de este mapa.
 
a) Lo primero que he hecho ha sido crear las nuevas formas como etiquetas control ActiveX desde el módulo VBA modChangeTooltip con las macros:
 
AddLabels: Recorre todas las formas con los mapas de cada país, denominadas "S_(3 letras del país)" y llama a la macro AddLabel.
 
AddLabel: Crea una etiqueta invisible denominada "L_(3 letras del país)" un 40% más pequeña que la forma del tipo "S_" y situada por encima de ella. Sus propiedades más interesantes son:
  • BackStyle = fmBackStyleTransparent
  • BorderStyle = fmBorderStyleNone
  • ShapeRange.ZOrder msoBringToFront
  • ShapeRange.Fill.Visible = msoFalse
DeleteLabels: Borra todas las etiquetas invisibles denominadas "L_(3 letras del país). Esta macro sirve para hacer pruebas y reintentar crear de nuevo las etiquetas hasta conseguir el resultado esperado.
 
No es necesario ejecutar de nuevo ninguna de estas 3 macros para usar la plantilla. Así quedaría el mapa si se hubieran creado las etiquetas con la propiedad visible:
 
b) Lo segundo que he hecho ha sido ajustar manualmente la posición y el tamaño de algunas de las etiquetas.
 
Para las etiquetas creadas anteriormente, que se pueden ver en el mapa de arriba, su área no se correspondía con la zona donde mover el cursor sobre alguno de los países. Esta labor manual ya no se debe hacer si el resultado es el deseado, si no es del agrado del usuario habrá que ajustar manualmente algunas de las etiquetas.  

Algunos países ha habido que retocarlos más que otros, por ejemplo para Dinamarca se puede ver la etiqueta L_DNK que no se ajustaba al contorno del país. También se ha intentado que las etiquetas no se solapen unas con otras para poder mostrar el país correcto en la Tooltip cuando se mueva el ratón por el mapa.
 
El caso de España es especial pues en el mapa de la UE no se muestran las Islas Canarias, localizadas en el Océano Atlántico, por cuestiones de espacio en la versión original de este mapa cloropético.
 
 
Será una nueva mejora a considerar para una futura entrada en el blog.

c) Lo tercero que he hecho ha sido crear un módulo de clase en VBA llamado 
CActiveXLabel para no tener que crear un par de eventos por cada una de las 28 etiquetas invisibles creadas en los pasos anteriores.
 
La clase ClassLabel definida como MSForms.Label permite atender estos dos eventos:
  • ClassLabel_MouseMove: lanza el evento MouseMove cuando el ratón pasa por encima de una etiqueta invisible. Es el evento más importante del truco para mostrar la Tooltip.
  • ClassLabel_Click: lanza el evento Click cuando se hace clic en una etiqueta invisible para cambiar el país seleccionado. 
El código del módulo es el siguiente:

d) Lo cuarto ha sido crear, en el módulo modChangeTooltip, una Colección (Public LabelColl As Collection) que contiene todas las clases del tipo ClassLabel con la macro FillLabelCollection que rellena la colección con las clases de cada una de las 28 etiquetas del tipo "L_".
 
Con lo que tenemos 3 escenarios posibles para cambiar el país seleccionado: 
1. Clic sobre la tooltip cuando se mueve la tooltip por el mapa.
2. Clic sobre la etiqueta de un país cuando la tooltip no se mueve.
3. Clic sobre una forma de un país cuando la tooltip es invisible.
 
e) Lo quinto ha sido no modificar la macro UpdateChoroplethMap, que cambia los colores de relleno de las formas del mapa cloropético, sino modificar únicamente los colores de las formas del tipo "S_", con las imágenes de cada país, para que no se intenten modificar las formas del tipo "L_", con las etiquetas invisibles de cada país.
 
En el evento Workbook_Open se llama a la macro SetCountryShapesLayer (módulo modChoroplethMap) para que actualice los valores de la matriz myShapeIndex, de la hoja 'calcs', para que los índices apunten únicamente a la capa de formas de los países del tipo "S_", que son las formas que cambian de color en el mapa cloropético.
 

Mejora 2) Cambiar el país con el gráfico de líneas

Una validación de datos del tipo Lista en la celda B7 (myChartImage) de la hoja 'dashboard' permite seleccionar dos maneras de presentar los gráficos con la macro ChangeChart, lanzada en el evento Worksheet_Change:
 
a) Image: es el modo original de Robert de mostrar los gráficos de bandas y de líneas, con una imagen fotográfica tomada con la cámara de Excel de los gráficos de la hoja 'charts'.
 
b) Chart: es el nuevo modo de mostrar esos dos gráficos en la hoja 'dashboard' para poder interactuar con ellos y que se vean las tooltips cuando se pase el cursor por encima de una serie, un punto o cualquier otra parte del gráfico.
 
Cuando se selecciona Chart en el desplegable y se marca Line Chart, se ha añadido la posibilidad de cambiar de país haciendo clic en una de las series del gráfico de líneas.
 
 
Para ello hace falta que al hacer clic en una serie del gráfico de línes se lance el evento Select, lo que obliga a crear un nuevo módulo de clase CChartEvent que gestione los eventos del gráfico.
 
Se define el gráfico con eventos:
Public WithEvents EventChart As Chart
 
Y se crea la macro que escucha al evento Select: 
Private Sub EventChart_Select(ByVal ElementID As Long, _
        ByVal Arg1 As Long, ByVal Arg2 As Long)
 
que llama a la macro: UpdateTableCountryClick para cambiar de país.
 
Para crear eventos en gráficos es bueno informarse en la excelente página:
 
Chart Events in Microsoft Excel
October 31, 2014 by Jon Peltier
 
Para que no afecten otros eventos se han definido dos rutinas:
  • EventChart_BeforeDoubleClick: no actua doble clic. 
  • EventChart_BeforeRightClick: no actua el botón derecho del ratón.

Mejora 3) Nuevos botones de animación

Ahora los botones de animación son: Play, Pause, Stop.


 
Se han definido en la celda W2 (myAnimation) de la hoja 'dashboard', mediante una fuente de texto del tipo Webdings:
  • Play es el carácter: 4
  • Pause es el carácter: ; 
  • Stop es el carácter: <
Durante la animación se va alternando entre Pause y Stop para saber que la animación está en modo Play.
 
Robert si has leído hasta aquí, ¿queda claro y simple?
 
Tengo que darte las gracias porque he aprendido a elegir banderas en tu magnífica y muy actual entrada del blog, que recomiendo leer encarecidamente a todos los apasionados de Excel:
 
 


Descarga del Cuadro de Mando

Descarga la plantilla totalmente gratuita, con las macros visibles y las hojas protegidas sin contraseña, de este cuadro de mando con las tasas de desempleo en la UE durante los 30 últimos años, con las banderas de los países, desde este enlace y habilita las macros para usarlo.

Descarga desde Google (con "Excel Download") o desde Microsoft OneDrive:
Descarga y ejecuta el fichero para ver en movimiento el efecto MouseMove con el que se muestra información emergente (tooltip) con el nombre, la tasa de desempleo y la bandera del país dentro del mapa de la UE.

Espero que esta técnica para mostrar información emergente (tooltip) sea de valor para añadir más interactividad a los mapas en Excel.

Menús segmentados en un tablero de ajedrez

$
0
0

Menus with slicers for a chessboard - link to this post in English


Menús con segmentación de datos
Ejemplo de un tablero de ajedrez interactivo

No voy a hablar de los miles de menús que me comí en los restaurantes de la capital de España, durante los 9 años que estuve trabajando en varias oficinas de Madrid.

Voy a hablar de cómo hacer menús interactivos usando la segmentación de datos para filtrar datos de tablas dinámicas (Slicers en inglés), con un ejemplo de un tablero de ajedrez interactivo.

En esta entrada del blog aprenderemos a:
  1. Mantener dos tablas dinámicas: una con un único filtro para el menú y otra con un filtro para los submenús.
  2. Mantener dos tablas normales: una para el menú y otra para los submenús.
  3. Mantener una tabla auxiliar para los submenús con su posición, número de filas y de columnas.
  4. Modificar la segmentación de datos del menú.
  5. Modificar la segmentación de datos de los submenús.
  6. Analizar las macros de Excel, en lenguaje VBA, que interactúan con los menús y submenús.
  7. Representar un tablero de ajedrez interactivo dentro de un rango de celdas de una hoja de cálculo.
Esta es la apariencia que tiene el menú principal y los diferente subménus gráficos, con un ejemplo de cómo animar un tablero de ajedrez en Excel.


En esta imagen gif animada se muestra un menú principal, numerado del 1 al 7, diseñado con una segmentación de datos. Los 7 submenús están diseñados con una única segmentación de datos con un formato de filas y columnas diferente para cada uno de los submenús. Los submenús se despliegan a la altura de su correspondiente entrada desde el menú principal. Algunos submenús son de texto y otros son gráficos, como las piezas del ajedrez o sus posibles movimientos en vertical, horizontal o diagonal.

Descarga de la plantilla

Descarga la plantilla totalmente gratuita, con las macros visibles y las hojas protegidas sin contraseña, desde Google (con el botón "Excel Download") o desde el enlace a Microsoft OneDrive:

Tablas normales para el menú y los submenús

Para crear los menús hace falta una hoja auxiliar 'TD_Menu' en la que se han insertado 3 tablas normales, un rango para los submenús y una celda auxiliar:
  1. TablaMenu: Para el menú principal en el rango E4:E11 con la lista de submenús numerados.
  2. TablaSubmenus: Para los submenús en el rango H14:N16 con una columna por cada submenú, con los valores posibles de cada submenú.
  3. TablaSubmenu: Tabla auxiliar con los valores del submenú seleccionado en el menú principal.
  4. Rango de parametrización de cada submenú: Rango F26:N29 con el tope, filas y columnas de la segmentación de datos que sirven para personalizar cada submenú.
  5. Celda auxiliar: En la celda E2 se calcula el número de submenú elegido en el menú principal.
La tabla para el menú principal se puede personalizar para cambiarlo según las necesidades del usuario final. En este ejemplo, con traducción simultánea a varios idiomas, los valores del menú principal se encuentran en la hoja 'Idiomas', desde donde se deben cambiar:


En la columna de la izquierda se muestra la tabla con el submenú elegido y las demás columnas son de la tabla de submenús, que se pueden personalizar para formar otro tipo de submenús. Hay que tener en cuenta que, para la traducción a varios idiomas, los valores del submenú 4 (Iniciar; Borrar) y del submenú 7 (SI; NO) están en la tabla de la hoja 'Idiomas':


En esta imagen se muestra el rango de parametrización de la segmentación de datos de cada submenú. Hay que prestar atención que en la fila de "Columnas" el valor del número de columnas del submenú 6 es fijo:


Tablas dinámicas para el menú y los submenús

En la hoja auxiliar 'TD_Menu' se han insertado dos tablas dinámicas:
  1. TD_Menu: Para el menú principal en el rango B4:C4 con origen de datos en la TablaMenu y sólo con un filtro para el campo "Menu".
  2. TD_Submenu: Para el submenú en el rango B14:C14 con origen de datos en la TablaSubmenu y sólo con un filtro para el campo "Submenu".

Segmentación de datos del menú principal

La segmentación de datos del menú principal está conectada con la tabla dinámica TD_Menu y está en la hoja 'Tablero'.


La configuración de la segmentación de datos es la siguiente:
  • Mostrar encabezado en estado sin chequear.
  • Se ha creado un nuevo estilo de segmentación de datos sin bordes.

Segmentación de datos de los submenús

La segmentación de datos de los submenús está conectada con la tabla dinámica TD_Submenu y está en la hoja 'Tablero'.

Se basa en la misma configuración de la segmentación de datos del menú principal, sin mostrar encabezado ni bordes.

La principal ventaja de está técnica para diseñar menús y submenús es que la misma segmentación de datos de submenús sirve para mostrar cada uno de los submenús, simplemente variando su posición, su número de filas y columnas y los valores del submenú seleccionado con el menú principal, gracias a las tablas de la hoja 'TD_Menu' que ya he descrito más arriba.

Con una única segmentación de datos se configuran varios submenús, por ejemplo:

Se puede observar que algunos de ellos están formados por caracteres gráficos, como las piezas de ajedrez o las flechas de movimiento. Para ordenar las flechas de movimiento ha hecho falta definir, en las opciones avanzadas de Excel, una nueva lista personalizada:



Lo importante es que los submenús cambian dinámicamente cuando se cambia la selección del submenú desde el menú principal y se coloca a la altura del submenú elegido. Lo mejor es verlo en el siguiente vídeo en acción : 


Macros del menú y los submenús

Cuando se selecciona un menú o un submenú se ejecutan las macros Excel, escritas en lenguaje VBA, que permiten la interacción con el tablero de ajedrez del ejemplo propuesto.

Para explicar e interpretar las macros de esta aplicación es preciso conocer los nombres definidos que son los que aparecen en el menú:
Fórmulas --> Administrador de nombres 


Nombres definidos más relevantes:
  • Rango_TD_Submenu: Es el origen de datos de la tabla dinámica TD_Submenu, creado mediante las funciones INDICE() y CONTAR.SI(), esta última con el argumento "?*" con comodines para contar solamente las filas con datos.
  • Rango_Tabla_Submenu: Con el rango completo de la tabla "TablaSubmenu", que se usa en el nombre definido anteriormente: Rango_TD_Submenu
  • El resto de nombres definidos son rangos o celdas para que sea más clara y fácil su referencia en las fórmulas y macros.

Módulos de la aplicación

  • Hoja 'Tablero': Se produce el evento SelectionChange cuando cambia la celda seleccionada de la hoja y que representa un escaque del tablero de ajedrez. Se ejecuta la macro GetSubmenu únicamente cuando se ha seleccionado en el menú principal el submenú 2 con las piezas.

  • Hoja 'TD_Menu': Se produce el evento Change cuando cambia el valor de la celda. Si cambia el valor del filtro de la tabla dinámica TD_Menu se ejecuta la macro ChangeSubmenu. Si cambia el valor del filtro de la tabla dinámica TD_Submenu se ejecuta la macro ActionSubmenu.

  • Hoja 'ThisWorkbook': Los eventos Open; BeforeSave y BeforeClose lanzan la macro para proteger las hojas ProtectSheets. Además el evento Open oculta todos los menús y barras de Excel llamando a la macro VisibleExcel.

  • Módulo modChangeMenu: Contiene las macros necesarias para interactuar con el menú principal y con los submenús:

    • ChangeSubmenu: Realiza las acciones que permiten el cambio de un submenú desde el menú principal.
    • GetSubmenu: Obtiene el último valor del submenú seleccionado, por lo que hay que modificar el número de casos si se cambian los submenús.
    • ActionSubmenu: Ejecuta las acciones de un determinado submenú, por lo que hay que modificar el número de casos si se cambian los submenús.
    • Select2Slicer: Llama 2 veces a la macro SelectSlicerItem, pues devuelve un error la primera vez. A tener en cuenta para una mejora.
    • SelectSlicerItem: Selecciona un único valor de la segmentación de datos.
    • TopMenu: Obtiene el tope de la posición de la segmentación de datos del menú principal.
    • RowHeightMenu: Obtiene el alto de la fila de la segmentación de datos del menú principal.
    • SelectFirstValuePivotTable: Cuando se seleccionan múltiples valores en una segmentación de datos, obtiene solamente el primer valor.
    • RefreshAll: Refresca la caché de las 2 tablas dinámicas y las fórmulas de todo el libro de trabajo.
  • Módulo modChangeChessboard: Contiene las macros necesarias para interactuar con el tablero de ajedrez:

    • ChangeChessboard: Borra todas las piezas del tablero o inicializa el tablero con la posición inicial de las piezas en una partida de ajedrez.
    • IniChessboard: inicializa el tablero con la posición inicial de las piezas en una partida de ajedrez.
    • DeleteChessboard: Borra todas las piezas del tablero.
    • ChangeFont: Cambia la fuente de caracteres de las piezas de ajedrez.
    • ChangePiece: Cambia la pieza de ajedrez en una de las celdas que representa un escaque.
    • MovePiece: Mueve una pieza de ajedrez a otro escaque del tablero.
  • Módulo modChangeProtect: Macros para proteger las hojas:

    • ProtectSheets: Protege las hojas sin contraseña.
    • UnprotectSheets: Desprotege las hojas.
    • ProtectOneSheet: Protege una hoja de los usuarios pero no de las macros, gracias al argumento: UserInterfaceOnly:=True
    • UnprotectOneSheet: Desprotege una hoja.
  • Módulo modHideExcel: Macros para ocultar o mostrar los menús y barras propias de Excel. Se puede ocultar todo excepto el título de la aplicacion. Como este módulo es un extra de ejemplo, no voy a explicar cada una de las macros. Quien tenga ganas de estudiarlas que las analice ya que son muy claras y simples, como dice el conocido bloguero Robert Mundigl en su blog Clearly and Simply, del que tanto estoy aprendiendo y que recomiendo desde estas líneas. Si has llegado a leer hasta aquí, lo que si recomiendo es optar por no ocultar Excel desde el menú, ya que quitar la ocultación manualmente es un trabajo arduo.

Postdata

Cuando escriba el próximo artículo ya estaré felizmente jubilado y mi idea es construir próximamente un tablero con la historia de mis 40 años de carrera profesional en un storyboard dinámico, como el que aparece en el siguiente enlace pero con otra técnica: A practical Example for Dynamic Storyboards

Si detectas alguna traducción incorrecta al cambiar de idioma, dímelo en un comentario o modifique tú mismo la tabla con los idiomas, a partir de la columna C de la hoja 'Idiomas', donde puedes añadir más columnas si quieres más idiomas...
Viewing all 262 articles
Browse latest View live