lunes, 28 de enero de 2013

Excelforo: Cursos Excel y Macros online (elearning).

Presento la edición de Cursos de Excel online de febrero.

Los cursos abiertos para febrero son:

Curso Excel Financiero

(ver más)

Curso Tablas dinámicas en Excel

(ver más)

Curso Excel Avanzado para versiones 2007/2010

(ver más)

Curso Macros Iniciación

(ver más)

Curso Macros Medio

(ver más)

Curso preparación MOS Excel 2010 (Examen 77-882)

(ver más)


Esta nueva edición de Cursos de Excel y macros en modalidad elearning (online) dará comienzo el próximo día 1 de febrero de 2013.
Con la confianza de siempre....Anímate!!


Próximamente Curso Excel nivel medio y Curso Microsoft Access.

Informarte sin compromiso en cursos@excelforo.com o directamente en www.excelforo.com.

Recuerda que ahora también imparto clases particulares de Excel en Madrid te interesa?

viernes, 25 de enero de 2013

Etiqueta descriptiva en un hipervínculo de Excel.

Hace algún tiempo expliqué cómo insertar un hipervínculo en nuestras hojas de cálculo, y algunas de sus opciones (ver).
En la entrada de hoy añadiremos al hipervínculo una etiqueta descriptiva personalizada que se desplegará automáticamente al pasar el cursor por encima.

Trabajaremos sobre un hipervínculo asociado a un texto simple (aunque el proceso es idéntico si habláramos de imágenes, formas u objetos en general).

Añadiremos, por tanto, a nuestra hoja de cálculo un texto en la celda E2.
Insertamos el hipervínculo sobre el texto de la celda E2; para ello seleccionamos la celda, y navegamos desde la ficha Insertar > grupo Hipervínculo > botón Hipervínculo:

Etiqueta descriptiva en un hipervínculo de Excel.


Completamos las diferentes opciones, como dónde vincularlo, la referencia, etc.

Finalmente, para añadir esta 'etiqueta descriptiva', sólo deberemos presionar el botón de Info en pantalla, lo que abre una ventana diálogo donde editaremos el texto que deseemos aparezca:

Etiqueta descriptiva en un hipervínculo de Excel.


Tras Aceptar, podemos ver el resultado:

Etiqueta descriptiva en un hipervínculo de Excel.



Observamos en la imagen la diferencia entre la Etiqueta por defecto (asociada a la autoforma) y la Etiqueta descriptiva personalizada (asociada al texto de la celda E2).

miércoles, 23 de enero de 2013

Mostrar u Ocultar fichas de hojas en Excel.

En la nota de hoy mostraré en qué forma para Excel 2007 ó 2010 podemos mostrar u ocultar las fichas o pestañas de las hojas.
Seguro que en alguna ocasión nos hemos encontrado con un Libro de Excel, que por protegerlo de manos poco venturosas, no estaban a la vista las pestañas (o fichas) de las hojas:

Mostrar u Ocultar fichas de hojas en Excel.



La manera de configurar esta opción es acceder al Botón de Office o bien al menú Archivo (según trabajemos con Excel 2007 o Excel 2010), dentro del botón Opciones de Excel buscaremos el menú de Avanzadas, y la Sección Mostrar opciones para este Libro; es aquí donde marcaremos/desmarcaremos el item Mostrar fichas de hojas:

Mostrar u Ocultar fichas de hojas en Excel.


El resultado es el esperado, con la opción desmarcada, este es el aspecto de nuestro Libro:

lunes, 21 de enero de 2013

Insertar automáticamente un punto decimal.

Hablaré hoy de un caso curioso que se da en Excel, que recordé a relación de lo planteado por un lector en un comentario. La cuestión planteada fué:
...introduzco un numero ejemplo 3 y la celda me tira 0,3 ya revise todos los formatos sin resultado positivo no se que estará fallando...

Con sinceridad esta es una de esas situaciones que nos vuelve locos cuando nos enfrentamos a ellas, ya que miramos y miramos lo obvio, es decir, los formatos (como hizo el lector), pero todo parece correcto. Pero, entonces, ¿por qué al introducir un número entero, el valor devuelto aparece como un decimal?, ¿por qué al introducir 3 aparece 0,3 ó 0,003 ó 0,0003 etc??.
La respuesta la encontramos entre las Opciones de Excel, concretamente en la opción Insertar automáticamente un punto decimal.


Si accedemos a las Opciones de Excel > Avanzadas > sección Opciones de edición, encontramos la posibilidad de configurar el número de decimales que queremos aparezca en la celda tras introducir un número entero.

Insertar automáticamente un punto decimal.


En la imagen he seleccionado la opción y señalado que quiero 2 decimales, lo que implica que al introducir un entero, éste se mostrará en centésimas. Por ejemplo,
1 aparecerá como 0,01
10 aparecerá como 0,1
100 como 1
1000 como 10
y cualquier número decimal aparecerá tal cual
0,1 como 0,1
0,01 como 0,01
etcétera.

Si por contra ha quedado configurado con 1 decimal (según la pregunta del lector), entonces:
3 aparecerá como 0,3
30 aparecerá como 3
300 como 30
3000 como 300
y por supuesto cualquier número decimal aparecerá tal cual.

Es, por tanto, esta opción muy peligrosa para nuestros cálculos, ya que a todos los efectos los valores quedan como se muestran. Debiendo prestar especial atención en cómo introducir nuestros valores, para evitar confusiones de algún tipo.

jueves, 17 de enero de 2013

VBA: Descubriendo celdas combinadas.

Días atrás un lector me preguntaba por alguna manera de localizar las Celdas combinadas de una de nuestras hojas de Excel, entendiendo que eran varias y dentro de un informe dificil de localizar a simple vista.
Fue entonces cuando recordé dos propiedades del método Range en VBA que nos servirán para tal efecto:
Range.MergeCells
Range.MergeArea

La primera de ellas Range.MergeCells nos indicará si es True o False que el rango indicado contiene o no 'Celdas combinadas'. Esto nos vendría bien para repasar diferentes celdas y determinar si ésta pertenece o no a un conjunto combinado.
Mientras que Range.MergeArea devuelve el rango combinado que contiene la celda especificada (si la celda especificada no está en un rango combinado, la propiedad devolverá la celda especificada).

Ambas propiedades nos servirán para recorrer el rango a anailizar y determinar si correponde a una Celda combinada, y en caso afirmativo, obtener la dirección del rango combinado.

Comenzaremos nuestro ejemplo disponiendo en nuestra hoja de trabajo algunas Celdas combinadas:

VBA: Descubriendo celdas combinadas.


Generamos nuestra macro, que incorporamos a un módulo del Explorador de proyectos del Editor de VBA:

Sub IdentificaCeldasCombinadas()
'inhabilitamos el refresco de pantalla
Application.ScreenUpdating = False
'controlamos un posible error, pasando al siguiente registro
On Error Resume Next

'recorremos cada celda del rango utilizado en la hoja de cálculo activa.
For Each celda In ActiveSheet.UsedRange
    'verificamoss si dicha celda corresponde a una Celda combinada
    If celda.MergeCells = True Then
        'aglutinamos la dirección de la celda
        'para mostrala posteriormente en un MsgBox
        mensaje = mensaje & celda.Address & Chr(10)
        'Modificamos la celda
        With celda
            'eliminando cualquier Comentario anterior
            .ClearComments
            'Añadimos uno nuevo...
            .AddComment
            '...donde insertamos un texto con la dirección del Rango combinado
            .Comment.Text Text:="Excelforo:" & Chr(10) & celda.MergeArea.Address
            'además le cambiamos el color de fondo a amarillo.
            .Interior.Color = vbYellow
            
        End With
    End If
Next
'Mostramos todos los Comentarios...
Application.DisplayCommentIndicator = xlCommentAndIndicator
'Mostramos el mensaje final,
'con todas las referencias de las celdas combinadas (individualmente)
MsgBox mensaje
'activamos el refresco de pantalla
Application.ScreenUpdating = True
End Sub



Tras ejecutar nuestra macro de Excel sobre la Hoja anterior, vemos el resultado en la siguiente imagen:

VBA: Descubriendo celdas combinadas.


En la imagen podemos ver, por un lado, el Cuadro de mensaje generado (MsgBox) con un listado de todas las celdas implicadas en alguna de las Celdas combinadas; por otro lado, directamente en al Hoja de cálculo vemos como todas las Celdas combinadas han cambiado el color de fondo por el amarillo y además se ha insertado un Comentario donde se incluye la dirección del rango combinada.

lunes, 14 de enero de 2013

INDICAR.CELDA: Identificar celdas con color de fondo.

Hoy dedicaremos nuestro tiempo a profundizar un poco más en el mundo de las macrofunciones (de las que ya hablamos en alguna entrada anterior ver1 o ver2).
En aquellas entradas se explicaba de donde procedian estas macrofunciones de Excel 4.0 y cómo había que trabajar con ellas, aunque aquí repetiremos los pasos.

En la entrada de hoy daremos solución a un problema recurrente aún en nuestros días que consiste en identificar que celdas tienen asignado un color de fondo.
Sabemos que en las últimas versiones de Excel es posible trabajar, mediante Filtros u Ordenaciones, con celdas que tengan color de fondo (o de fuente), pero estrictamente hablando no podríamos incluir esta característica como condición de una fórmula.


La macrofunción que determina el color de fondo de una celda es INDICAR.CELDA(63;ref).
Nuestros pasos para trabajar con ésta consisten pues en Crear un Nombre definido, al que llamaremos 'relleno' y al que asignaremos el editable Se refiere a: con la fórmula:
=INDICAR.CELDA(63;Hoja1!$A1)+AHORA()*0
recordemos que añadimos el sumando AHORA()*0 para que actualice su valor al refrescar la hoja. Igualmente importante es generar el nombre definido con la celda A1 seleccionada!!!.

INDICAR.CELDA: Identificar celdas con color de fondo.


Esta macrofunción identifica el color de la celda indicada. Podemos verlo en la imagen:

INDICAR.CELDA: Identificar celdas con color de fondo.


Como vemos para ejecutar nuestra función personal 'relleno', la introducimos seguida de un igual '=relleno'.

El siguiente paso para identificar de alguna manera si nuestras celdas tienen o no color de fondo es bien sencillo, ya que bastará con anidar la macrofunción en un condicional SI:
=SI(relleno;"fondo";"blanco")

jueves, 10 de enero de 2013

VBA: Intercalando filas alternas en un rango dado.

Hace poco un usuario habitual me planteó la forma de intercalar filas en un rango, alternando fila de datos con fila vacía. La cuestión planteada fué:
...¿Como puede insertar una fila en blanco en un rango de filas?, me explico, tengo 20 filas y quiero, una con datos otra en blanco, una con datos otra en blanco y asi sucesivamente...

Como no existe una forma sencilla de realizar esta acción, y manualmente llevaría un tiempo precioso, sólo nos queda construir una macro que haga el trabajo por nosotros.
Nuestra macro será bastante sencilla, solo hay que recalcar que haremos un recorrido por las filas del rango en sentido inverso al habitual, esto es, empezaremos de abajo a arriba (de la última fila a la primera), usando el método Insert.
Este orden concreto nos asegura que insertar nuevas filas no afecte a los siguientes insertados... lo que ocurriría si empezaramos de las filas superiores a las inferiores.

Dentro del Explorador de proyectos del Editor de VBA, insertaremos en un Módulo el siguiente código de nuestra macro de Excel:

Sub intercalado()
Set Rng = Range("A1:A10")
'controlamos la primera y última fila
'donde se encuentra el rango a intercalar
rng1 = Rng.Item(1).Row
rng10 = Rng.Item(Rng.Count).Row
'inhabilitamos la actualización o refresco de pantalla
Application.ScreenUpdating = False
'recorremos en orden inverso las filas del rango
For i = rng10 To rng1 + 1 Step -1
'insertando filas y desplazándolas hacia abajo
'como pretendíamos
Rng.Item(i).Insert Shift:=xlDown
Next i
'reactivamos el refresco de pantalla
Application.ScreenUpdating = True
End Sub



Podemos ver en la imagen su funcionamiento tras presionar el botón al que hemos asignado nuestra macro 'intercalado':

VBA: Intercalando filas alternas en un rango dado.

miércoles, 2 de enero de 2013

La media móvil en Excel.

Hablaremos en esta ocasión de una de las herramientas de análisis que encontramos en Excel, en particular de la Media Móvil.
Esta es una herramienta muy específica del mundo estadístico, por lo que su interpretación y uso requiere de ciertas nociones de esta ciencia.
Podemos sin embargo leer algo al respecto en nuestra amiga Wikipedia sobre la media móvil.
Concretaremos diciendo, por tanto, que la media móvil es una técnica de predicción o pronóstico que simplifica el análisis de tendencias suavizando las fluctuaciones que aparecen en las medidas registradas-históricas- a lo largo de un período.
Estas fluctuaciones pueden ser causadas por factores aleatorios que a menudo derivan de la técnica de medición; (por ejemplo, las medidas de litros de lluvia recogida pueden variar según la exactitud del medidor). Aunque estas fluctuaciones también puede provenir de otras circunstancias temporales capaces de influir en las mediciones, por ejemplo, el control de volumen de ventas mensuales de una empresa, que puede variar según el número de días laborables del mes, o por la ausencia de algún buen comercial, etc... esto es, por causas extraordinarias. Para corregir el problema, se puede tomar una serie de medidas y suavizarlas a lo largo del tiempo, es decir, emplear una Media Móvil.


Para ejemplificar esta herramienta, dispondremos de los datos de unidades vendidas de un producto concreto de una empresa durante un periodo histórico de 12 meses:

La media móvil en Excel.


Este informe muestra una gran variación en las cantidades finales de unidades vendidas de un mes a otro (Junio y Noviembre especialmente), lo que podría indicar alguna carencia en la fuerza de ventas, lo que no es bueno para nuestra empresa. Con unos simples pasos, se puede usar esta información para administrar de forma más precisa los recursos comerciales o de ventas de este año.
Antes de comenzar a trabajar, debemos asegurarnoss que tenemos correctamente instalado el complemento de Análisis de datos, para ello, para instalar las Herramientas de análisis, en el menú Herramientas, haremos clic en Complementos, activaremos la casilla Herramientas de análisis y, a continuación, clic en Aceptar.

Recuerda que esta herramienta de análisis Media móvil proyecta los valores previstos para el periodo de previsión basándose en el valor medio de la variable de un número específico de periodos anteriores. Una media móvil proporciona información sobre tendencias que con una media simple de todos los datos del historial quedaría oculta. En nuestro ejemplo se usan los datos del producto XY para predecir un nivel de ventas para el año siguiente.
El primer paso será llamar a la herramienta, por lo que desde la ficha Datos > grupo Análisis > botón Análisis de datos abriremos la ventana desde la que buscaremos Media Móvil: