martes, 30 de septiembre de 2014

Bienvenido al Curso de Excel Avanzado

Bienvenido al curso gratuito de Excel Avanzado que se imparte mediante la plataforma Miriadax. Los enlaces a los archivos de Excel y los vídeos estarán disponibles en este Blog, lo cual nos permitirá dar continuidad a la comunidad que se forme, incluso después de haber concluido el curso. Se irán añadiendo nuevos contenidos a lo largo del tiempo. Esto convierte al curso en un entorno dinámico de formación donde puedes participar añadiendo tus comentarios al final de cada entrada.




Disponemos en Twitter de un hashtag para el curso de Excel Avanzado. Es el siguiente.


Mi nombre de usuario en Twitter es el siguiente.



Nota

El curso actualmente, septiembre de 2014, está en fase de INSCRIPCIÓN. Os podéis apuntar todos los interesados, o recomendarlo a vuestros contactos. Aún no tenemos fecha de inicio. Cuando ya se sepa la fecha desde la plataforma Miriadax se enviará un correo a todos los inscritos. Mientras llega la fecha de inicio puedes disfrutar del material del curso desde este blog de excelavanzado.com. Visita los enlaces a los módulos, luego a las entradas del blog que tratan los diferentes temas. Finalmente puedes ver los vídeos que se han colgado en YouTube.

En el curso usaremos la versión 2010 de Excel en un computador con sistema operativo Windows. Puedes ir preparando tu equipo ya que lo interesante no es solo que veas los vídeos sino que también puedas ir reproduciendo los pasos que ves en los ejemplos y casos prácticos que se van desarrollando. Puedes pausar el vídeo tantas veces como sea necesario y realizar tu mismo los pasos de los ejercicios.

Te contaré un secreto. Preparando los 12 módulos del curso yo también he aprendido muchas cosas de Excel. Y es que se trata de un programa fantástico, mucho más extenso de lo que imaginamos. Se podría decir que es todo un universo, y gracias a los usuarios que comparten en Internet sus conocimientos, está al alcance de todos.

viernes, 26 de septiembre de 2014

Separar en varias celdas un texto

En Excel se puede escribir un texto en una sola celda que ocupe varios párrafos. Cuando estamos escribiendo y queremos crear un nuevo párrafo dentro de la misma celda no tenemos que pulsar ENTER ya que en ese caso la celda se valida y no nos deja seguir escribiendo el segundo párrafo.

Lo que debemos hacer para pasar al sigueinte párrafo es pulsar ALT+ENTER. Esto es, debemos pulsar la tecla ALT y simultáneamente la tecla ENTER, y así pasamos al segundo párrafo y podemos seguir escribiendo.

Supongamos que tenemos una única celda con dos o más párrafos y deseamos que cada párrafo ocupe una celda diferente. Esto se puede hacer de forma manual de la siguiente forma.

  1. Editamos la celda que contiene varios párrafos. Para editarla debemos estar situados en ella y pulsar la tecla de función F2. También se edita pulsando doble click sobre la propia celda.
  2. Seleccionamos todo el contenido de la celda
  3. Pulsamos Control+C para copiar al portapapeles
  4. Nos situamos en cualquier celda vacía y que debajo de ella también tenga algunas celdas vacías tantas. Vamos a necesitar tantas celdas vacías como párrafos contenga nuestro texto.
  5. Pulsamos Control+V que pega el contenido del portapapeles
Con este método hemos conseguido de forma manual separar los diferentes párrafos en y que cada uno de ellos ocupe una celda diferente.

Ahora queremos hacer esto de forma automática mediante una Macro de Excel, creando un código VBA (Visual Basic para Aplicaciones).

La macro es la siguiente.

Sub Separa()
Dim toma As String, linea As String
Dim largo As Integer, i As Integer, s As Byte
Dim caracter As String * 1
Dim fila As Long, columna As Integer
Dim A() As Integer
fila = ActiveCell.Row
columna = ActiveCell.Column
toma = ActiveCell.Value
largo = Len(toma)
ReDim A(largo)
For i = 1 To largo
    caracter = Mid(toma, i, 1)
    If caracter = Chr(10) Then
        s = s + 1
        A(s) = i
    End If
Next i
If s = 0 Then MsgBox ("En la celda activa no se detecta ningún ENTER"): End
A(s + 1) = largo + 1
For i = 0 To s
    linea = Mid(toma, A(i) + 1, A(i + 1) - A(i) - 1)
    Cells(fila + i + 1, columna) = linea
Next i
End Sub

Para que funcione correctamente debemos situarnos previamente en una celda que contenga dos o más párrafos de texto creados pulsando ALT+ENTER para separar cada uno de ellos.

La macro lo que hace es respetar la celda en la que estamos sin cambiarla y justo debajo de ella utiliza las celdas que existen para poner en cada una de ellas uno de los párrafos. Se necesitan tantas celdas vacías debajo de la celda que contiene el texto como párrafos existan.

Por ejemplo, si tenemos una única celda con el texto siguiente:

Linea1
Linea2
Linea3
Linea4

La macro detecta que existen 27 caracteres. Esto se puede medir con la función =LARGO
Los caracteres son:

  • 6 de la primera línea
  • 6 de la segunda líena
  • 6 de la tercera líena
  • 6 de la cuarta línea
  • 3 retornos de carro
Los retornos de carro son las veces que hemos pulsado ALT+ENTER y el código de carácter que llevan en CHR 10.





Al final la macro crea debajo de la celda que contiene ese texto (celda amarilla) cuatro celdas con el texto separado correspondiente a cada uno de los 4 párrafos.

Puede descargar el siguiente fichero de Excel con la macro y un ejemplo para practicar su uso.



sábado, 20 de septiembre de 2014

Arrays

Un Array es un conjunto de variables.
  • Si son de una dimensión hablamos de vectores
  • Si son de dos dimensiones hablamos de matrices
  • Si son de más de dos dimensiones hablamos de matrices multidimensionales
En general, denominaremos matriz a cualquier Array sea de la dimensión que sea.

Por ejemplo, definimos la matriz A que es un vector de 5 componentes. Se define así:

Dim A(5) as Integer

Con ello hemos definido sus 5 componentes de tipo Integer. Los componentes son:
  • A(1)
  • A(2)
  • A(3)
  • A(4)
  • A(5)
Esto es un vector de cinco componentes, donde cada uno de ellos puede contener un valor de tipo integer.

Una matriz de dos dimensiones, rectangular de 5 filas y 7 columnas se define así:

Dim A(5,7) as integer

En este ejemplo todos los componentes son de tipo integer y serían los siguientes:
  • A(1,1)  A(1,2)  A(1,3)  A(1,4)  A(1,5)  A(1,6)  A(1,7)
  • A(2,1)  A(2,2)  A(2,3)  A(2,4)  A(2,5)  A(2,6)  A(2,7)
  • A(3,1)  A(3,2)  A(3,3)  A(3,4)  A(3,5)  A(3,6)  A(3,7)
  • A(4,1)  A(4,2)  A(4,3)  A(4,4)  A(4,5)  A(4,6)  A(4,7)
  • A(5,1)  A(5,2)  A(5,3)  A(5,4)  A(5,5)  A(5,6)  A(5,7)

Primer Vídeo

  • ¿Qué es un array?
  • Arrays, Vectores, Matrices.


Segundo Vídeo

  • ReDim para redimensionar matrices.
  • Randomize para barajar la semilla del generador de números aleatorios.



Tercer Vídeo

Ordenar con macro.



Cuarto Vídeo

  • Ordenar aleatorios en VBA
  • Uso de matrices
  • Tiempo de cálculo



Quinto Vídeo

  • Usamos la función de VBA Array
  • Dejamos valores de un Array en fila y en columna
  • Capturamos esos valores con otro Array
  • Una macro llama a otra macro con parámetros



Caso práctico

Puede ver un ejemplo del uso de matrices y ReDim en un caso práctico que nos permite separar el texto de una celda que está escrito en varios párrafos y que finalmente quede cada párrafo en una celda separada. Está en el siguiente enlace:

Para saber más



El archivo utilizado en los vídeos se puede descargar del siguiente enlace.

viernes, 19 de septiembre de 2014

Variables Objeto

El lenguaje de programación VBA (Visual Basic for Applications) en Excel es un lenguaje orientado a objetos. Los objetos son:

  • libros (Worksheet)
  • rangos (Range)
  • filas (Row)
  • columnas (Column)
  • tablas dinámicas (PivotTable)
  • gráficos (Chart)
  • entre otros muchos, ya que prácticamente todo es un objeto
  • incluso la propia aplicación Excel (Application)

Primer Vídeo

  • Definir variables objeto
  • Establecer su valor con SET
  • Bucle For Each ... Next


Segundo Vídeo

Creamos una hoja Index al inicio y después 100 hojas más que vamos renombrar de forma automática con una macro que se lanzará al elegir de un desplegable un mes de entre una lista con los doce meses del año.



Los ficheros de Excel utilizados en los vídeos se pueden descargar de los siguiente enlaces.

jueves, 18 de septiembre de 2014

Trabajar con fechas y horas

Excel permite trabajar bastante bien con fechas y horas. Veamos algunas funciones que permiten este tratamiento.

Primer Vídeo

Tratamiento de fechas.



Segundo Vídeo

Tratamiento de horas, minutos y segundos.



Tercer Vídeo

Determinación del día de la semana.


Cuarto Vídeo

Calendario perpetuo.


Podemos descargar el fichero de Excel donde se han realizado los ejemplos de los vídeos desde el siguiente enlace.

Para saber más

Si quiere ampliar otros aspectos del tratamiento de fechas y horas puede visitar estos enlaces.