lunes, 29 de abril de 2013

Cómo añadir una serie de datos a un gráfico en 3 segundos


Muchos de mis alumnos se sorprenden en los cursos que imparto, de un pequeño truco que explico en el módulo de "Gráficos y presentación de datos". Éste no es otro, que añadir a un gráfico (que ya tenemos hecho) una serie más de datos, tan sólo mediante copiar-pegar (Sólo para Excel 2007 y 2010... no en Excel 2013). Así de sencillo.

Tenemos el siguiente gráfico, que representa sólo la primera de las series de la tabla (Línea 1):


Si queremos agregar la serie de la "Línea 2", tan sólo tenemos que:

PASO 1:

Seleccionar y Copiar con CTRL-C el rango de celdas siguiente:



PASO 2:

Seleccionar el gráfico y hacer CTRL-V



Si además queremos que en vez de columnas, sea una línea lo que represente a la Línea 2, debemos:

  • Hacer click con el botón derecho en cualquier columna de la Línea 2
  • Seleccionar la opción "Cambiar tipo de gráfico de series..."
  • Seleccionar uno de los gráficos de la galería de gráficos de línea y ACEPTAR.

Obtendremos algo así:


Si desea llevar a la práctica todo lo que le hemos ofrecido en este artículo, puede asistir a nuestros cursos prácticos de Excel o puede solicitarlos in company:










miércoles, 24 de abril de 2013

Eliminar filas vacías en una hoja de Excel con VBA


En el último curso de Excel que he impartido, durante la sesión que trataba de Visual Basic for Applications (VBA), un alumno me solicitaba un procedimiento (macro o subrutina) para automatizar la eliminación masiva de filas que estuvieran totalmente en blanco. Además, necesitaba indicar las filas primera y última de la zona donde era necesario el "rastreo" y eliminación.

Voy a aprovechar la pregunta de este alumno para publicar en este post, una solución a dicho "problema".

Comencemos:

PASO 1:

Presionar ALT+F11 para activar el editor de VBA y hacer click con el botón derecho en la carpeta "Microsoft Excel Objetos" del proyecto o libro que deseemos (si lo hacemos en la carpeta "Microsoft Excel Objetos" del libro de macros PERSONAL.XLSB ** que podremos ver en el explorador de proyectos, tendremos la macro disponible permanentemente en nuestro Excel... y no sólo disponible para un libro en concreto). En el menú contextual, seleccionamos "Insertar / Módulo":


PASO 2:

En la ventana de código del nuevo módulo, que se abre a la derecha, escribimos el siguiente código (o copiamos-pegamos del archivo que puede el lector descargarse al final de este artículo):

Sub EliminarFilasVacías()

'Variables y actualización de pantalla
    Dim FilaInicial As String
    Dim FilaFinal As Integer
    Dim Seguridad As Integer
    Application.ScreenUpdating = False


'Introducción de fila inicial de rastreo
    On Error GoTo 1
    FilaInicial = InputBox("Introduzca nº de fila inicial para rastreo", "Fila inicial de rastreo")

    ActiveSheet.Range("A" & FilaInicial).Select

'Introducción de fila final de rastreo
    FilaFinal = Val(InputBox("¿Hasta que nº de fila quiere rastrear?", "Última fila a rastrear"))
    If FilaFinal = 0 Then
        GoTo 1
    End If


'Pregunta de seguridad
    Seguridad = MsgBox("¿Está seguro de eliminar todas las filas vacías?", vbYesNo, "¡Atención!")
    If Seguridad = vbNo Then
        Exit Sub
    End If

'Rastreo y eliminación de filas vacías
    For I = ActiveCell.Row To FilaFinal
        If Application.WorksheetFunction.CountA(ActiveCell.EntireRow) <> 0 Then
            ActiveCell.Offset(1, 0).Select
        Else
            ActiveCell.EntireRow.Delete
        End If
    Next
Exit Sub


'Gestión de errores
1 MsgBox "Ha introducido datos erróneamente o ha cancelado un cuadro de diálogo"

End Sub

Una vez hecho esto, cerramos el editor de VBA.

PASO 3:

Asignaremos la macro a una combinación de teclas. Para ello, en la Ficha Programador, hacemos click en el botón "Macros". Seguidamente, buscamos el nombre de nuestra macro (EliminarFilasVacías) TENIENDO SELECCIONADO EL LIBRO PERSONAL XLSB, y la seleccionamos. Después, hacemos click en el botón "Opciones..." y por último, introducimos la letra que deseamos acompañe a CTRL.




Por supueso, también podemos asignar la macro a un botón (por ejemplo) o a una forma.
Si desea ver en funcionamiento la macro y además poder copiarla a su libro de macros personal (en vez de escribirla), puede descargar el siguiente archivo:




** Recordamos que el libro de macros PERSONAL.XLSB es un libro que se abre de forma automática (en modo oculto) siempre y cuando exista en nuestro equipo. Para ello, tenemos que haber grabado alguna macro en él alguna vez, puesto que Excel lo crea automáticamente.


Si desea llevar a la práctica todo lo que le hemos ofrecido en este artículo, puede asistir a nuestros cursos prácticos de Excel o puede solicitarlos in company:













lunes, 22 de abril de 2013

Protegiendo celdas con "Validación de datos"



Si queremos proteger una hoja o algunas celdas de una hoja de Excel, lo normal es acudir a las opciones de protección que tenemos en la ficha "Revisar", después de haber configurado el bloqueo de las celdas en las cuales deseamos restringir la escritura.

Al hacer esto, muchos usuarios habrán comprobado los "efectos secundarios" que tiene el hecho de activar la protección de hojas y/o celdas: multitud de comandos y opciones de Excel quedan deshabilitados para la hoja que está protegida (aunque en el cuadro de diálogo en el que configuramos las opciones de protección y la contraseña seamos permisivos).

Si lo que queremos es proteger el contenido de determinadas celdas (fórmulas, datos, etc), pero necesitamos mantener el resto de funcionalidades de Excel para esas celdas y para esa hoja, tenemos la opción de proteger mediante la herramienta "Validación de datos". Aunque es una protección de baja seguridad (sin posibilidad de contraseña), no tiene tantos "efectos secundarios", como decíamos anteriormente.

Con "Validación de datos" podemos proteger los cambios que se producen en una celda siempre que estos se hagan mediante escritura (edición de la celda y escribiendo mediante teclado). Sin embargo, si una celda contiene una fórmula cuyo resultado cambia debido a que otras celdas cambian, se actualizará sin problemas. Esto nos sirve cuando tan solo deseamos evitar que alguien elimine o cambie fórmulas accidentalmente, pero queremos mantener el resto de funcionalidades de Excel (combinar celdas, agrupar filas o columnas, ordenar tablas, actualizar tablas dinámicas, etc.)

¿Cómo lo hacemos?

PASO 1

Seleccionamos todas las celdas que deseamos proteger, activamos la Ficha "Datos" y hacemos click en el botón "Validación de datos" que hay dentro del grupo de botones "Herramientas de datos". :

 


PASO 2

En el cuadro de diálogo "Validación de datos", concretamente en "Permitir", seleccionamos "Longitud del texto" y después en "Datos" elegimos "Igual a". Finalmente, en "Longitud" ponemos un número elevado, por ejemplo 9999:



PASO 3

A estas alturas, ya podemos "Aceptar" y en las celdas seleccionadas previamente en el PASO 1, no se podrán introducir datos mediante teclado, a no ser que la longitud de lo introducido sea de 9999 caracteres (altamente improbable).

Lo que ocurre es que Excel nos muestra un mensaje por defecto:


... pero si queremos personalizarlo, tenemos algunas opciones interesantes:

Opción 1:  El usuario obtiene un mensaje y NO puede cambiar el contenido de la celda escribiendo:


Opción 2:  El usuario obtiene un mensaje, pero si lo desea SI puede cambiar el contenido finalmente:


Opción 3:   El usuario obtiene un mensaje que sólamente advierte y el cambio en la celda se lleva a cabo.

Para optar por una de estas opciones mostradas, lo debemos hacer desde la pestaña "Mensaje de error", cambiando el "Estilo· del icono y escribiendo nuestro mensaje personalizado:





Si desea llevar a la práctica todo lo que le hemos ofrecido en este artículo, puede asistir a nuestros cursos prácticos de Excel o puede solicitarlos in company: