martes, 18 de septiembre de 2018

Mensaje de Alerta de Vínculos externos

Muy frecuentemente trabajamos con vínculos externos a otros libros de trabajo, y al abrir nuestros ficheros aparece el famoso mensaje que nos advierte de la existencia de dichos vínculos externos:

Mensaje de Alerta de Vínculos externos



Para controlar este mensaje de ADVERTENCIA DE SEGURIDAD tenemos varias opciones...

Una primera sería desde el Centro de confianza.
Accedemos a este centro desde las Opciones de Excel > menú Centro de confianza > botón Configuración del Centro de confianza

Mensaje de Alerta de Vínculos externos



A continuación en la ventana del Centro de confianza, iremos al menú Contenido externo > sección Configuración de seguridad para los vínculos del libro, donde elegiremos la opción deseada de entre las tres:

Mensaje de Alerta de Vínculos externos



Si no queremos que nos vuelva a preguntar podemos optar por la primera opción:
Habilitar la actualización automática de todos los libros
solo en el caso que confiemos plenamente en que los datos a recuperar sean correctos, que no haya vínculos rotos o inexistentes, o cualquier otra circunstancia que pueda generarnos problemas con nuestros cálculos. Esta opción no es muy recomendable.

Otra opción es justo la opuesta, es decir,
Deshabilitar la actualización automática de todos los libros
donde no se nos preguntará por la posibilidad de actualización... manteniendo los últimos datos cargados.
OJO, el vínculo seguirá existiendo!!!.


Una segunda posibilidad para controlar el mensaje sería desde la ficha Datos > grupo Conexiones botón Editar vínculos, ya visto en el blog... esta opción nos da acceso a controlar desde el botón de 'Pregunta inicial' qué deseamos, y en qué forma queremos gestionar los vínculos al abrir el fichero:
1-Permitir que los usuarios elijan mostrar o no la alerta
2-No mostrar la alerta ni actualizar los vínculos automáticos
3-No mostrar la alerta y actualizar los vínculos

Mensaje de Alerta de Vínculos externos



Y un último camino para gestionar la aparición o no de la alerta de Seguridad sería desde las Opciones de Excel > Avanzadas > sección General > Opción 'Consulta al actualizar vínculos externos'
... con idéntico resultados que los casos anteriores

Mensaje de Alerta de Vínculos externos



Personalmente prefiero ser preguntado al detectar la existencia de estos vínculos, y poder decidir en caso según proceda ;-)

jueves, 13 de septiembre de 2018

VBA: Contar celdas combinadas en un rango

A primeros de marzo de este año publiqué un artículo sobre el objeto .Dictionary (ver aquí).. es un artículo interesante doned se explica a nivel teórico y práctico este interesante objeto de VBA para Excel.

Hoy, continuando el trabajo del post anterior sobre celdas combinadas, aplicaremos el objeto .Dictionary para saber cuántas celdas combinadas existen en un rango seleccionado.

VBA: Contar celdas combinadas en un rango




Insertamos la siguiente 'Function' en un módulo estándar:

Function ContarCombinadas(rango As Range) As Long
Dim celda As Range, direccion As String

Set dicc = CreateObject("Scripting.Dictionary")

'recorremos el rango de celda seleccionado
For Each celda In rango
    'verificamos la propiedad .MergeCells
    'para comprobar si está o no combinada
    If celda.MergeCells = True Then
        'determinamos la dirección de la celda
        direccion = celda.MergeArea.Address
        'y cargamos el diccionario...
        dicc.Item(direccion) = ""
        'o también
        'dicc(direccion) = ""
    End If
Next celda

'acabamos contando los elementos únicos cargados en el dictionary
ContarCombinadas = dicc.Count
End Function



Como veíamos en la imagen anterior, insertamos en una celda de la hoja de cálculo nuestra función:
=ContarCombinadas(A1:H26)

y obtenemos como resultado, para nuestro ejemplo, 4, es decir, cuatro celda combinadas en el rango A1:H26... tal y como necesitábamos.

martes, 11 de septiembre de 2018

VBA: Ancho y Alto de una Celda Combinada

Semanas atrás un lector preguntaba por la manera de conocer cuántas celdas 'reales' existían en una celda combinada, o dicho de otro modo cuál era el ancho y alto de una celda combinada...

Aplicaremos un poco de programación, muy sencilla, para responder la cuestión.
La propiedad .MergeArea del objeto Range.

Partiremos de una celda combinada en nuestra hoja de cálculo, resultado de combinar y centrar B2:C6, i.e., 5 filas por 2 columnas

VBA: Ancho y Alto de una Celda Combinada



Insertaremos el siguiente procedimiento 'Function' en un módulo estándar:

Function DimensionCeldaCombinada(rango As Range) As String
    'contamos filas del rango seleccionado
    filas = rango(1).MergeArea.Cells.Rows.Count
    'contamos columnas del rango seleccionado
    cols = rango(1).MergeArea.Cells.Columns.Count
    'contamos celda totales del rango seleccionado
    totalCeldas = rango(1).MergeArea.Cells.Count
    'y devolvemos dato a la función
    DimensionCeldaCombinada = filas & " filas -" & cols & " columnas =" & totalCeldas & " celdas"
End Function



Vemos el resultado y cómo funciona según lo esperado:

VBA: Ancho y Alto de una Celda Combinada

jueves, 6 de septiembre de 2018

Opciones de gráfico de Excel

Quizá te preguntes qué es eso de las opciones de gráficos en Excel, o simplemente no sabías ni que existían... pues aunque son pocas, 'haberlas, haylas'.

Una curiosidad en las últimas versiones de Excel es que, cuando copiamos y pegamos un gráfico ara modificar posteriormente sus rangos de origen, los formatos de color de los puntos de las series se resetean!! (cosa que no ocurría en otras versiones)...
Y aquí es donde entran las opciones de gráficos en Excel 2016.


Veamos primero el comportamiento estándar en Excel 2016.
Tenemos el siguiente gráfico construido a partir de los datos del rango A2:B5:

Opciones de gráfico de Excel



Observamos un gráfico circular 'normal' con formatos cambiados para los colores de cada punto de la serie, y con una 'porción' separada del centro (sección de puntos = 20).

Supongamos que nos encanta este formato de gráfico y que tenemos otros datos a representar.. los mismos del año siguiente.
Lo habitual es copiar y pegar el gráfico y corregir el rango origen de donde toma los datos...
Comprobamos tras la acción:
1- copiar y pegar el gráfico
2- redireccionar los rangos de origen a los nuevos datos H2:I5

Opciones de gráfico de Excel



Fijémosnos que:
-el formato de los colores ha cambiado a los colores por defecto,
-la separación de la sección también ha desaparecido
-las etiquetas de datos tampoco están... etc

Muy poco práctico para ahorrarnos el trabajo que esperábamos.


Sin embargo aparece la solución de la mano de las Opciones de gráfico.
Para ello desde la ficha Archivo > Opciones de Excel > menú Avanzadas > sección Gráficos > verificación 'Las propiedades siguen el punto de datos de gráfico del libro actual'

Opciones de gráfico de Excel



Con la opción desmarcada podemos repetir el proceso:
1- copiar y pegar el gráfico
2- redireccionar los rangos de origen a los nuevos datos H2:I5

Opciones de gráfico de Excel



Y comprobamos que efectivamente se respetan y mantienen todas las características añadidas en nuestro gráfico original ;-)

martes, 4 de septiembre de 2018

Gráfico 3D de una esfera en Excel

Llevaba tiempo queriendo publicar sobre este tema.. obtener un gráfico 3D de una esfera.
No es nada especial salvo el efecto conseguido.

Se trata de construir un gráfico 3D de superficie con tramado.

Así pues lo primero que tenemos que conocer es cuál es la ecuación de una esfera (leer algo más en Wikipedia):
(z-z0)2 + (y-y0)2 + (x-x0)2 = r2
siendo el punto (x0,y0,z0) el punto origen o centro de nuestra esfera y
r el radio de ésta.


Para simplificar la ecuación generaremos una esfera desde el punto (0,0,0) y de radio r=2
z2 + y2 + x2 = 22


La ecuación preparada para trabajarlo desde Excel consistiría en despejar la variable z y distribuir los valores sobre un rango B6:AD34, con encabezados en B5:AD5 desde -2,1 hasta +2,1 en intervalos de 0,3, que representan los valores del la variable x
De igual forma en el rango A6:A34 desde -2,1 hasta +2,1 en intervalos de 0,3 para representar los valores de y

Gráfico 3D de una esfera en Excel



La fórmula añadida en A6:AD34 será:
=SI(ES.PAR(10*B$5);1;-1)*RAIZ(2^2-($A6)^2-(B$5)^2)

donde a la ecuación de la esfera:
RAIZ(2^2-($A6)^2-(B$5)^2)

la multiplicamos por -1 o +1 para mandarlo a la parte del eje z positivo o negativo, y así alternar el trazo del tramado...
Esta sería una forma de obtener valores positivos y negativos y completar nuestra esfera.

A mayor detalle del intervalo más compacta quedará la esfera.

Gráfico 3D de una esfera en Excel



Al ser un gráfico 3D tenemos disponibles las propiedades de Giro para visualizar la 'esfera' como mejor quede...
Como curiosidad (no tanto en realidad), podemos ver nuestra 'esfera' con un ángulo de giro que nos deja ver sus 'defectos', con un ángulo de giro x =0 y ángulo de giro y = 0 veríamos...

Gráfico 3D de una esfera en Excel



Inconvenientes de no poder representar de manera continua dos valores (positivo y negativo) para un mismo punto...

Gráfico 3D de una esfera en Excel