Mostrando entradas con la etiqueta Macros. Mostrar todas las entradas
Mostrando entradas con la etiqueta Macros. Mostrar todas las entradas

viernes, 15 de mayo de 2015

Completar los espacios en blanco

Archivo de Excel utilizado: completar.xlsm

En esta entrada vamos a utilizar en tres casos la tecla F5 que es Ir a y luego el botón Especial...

Hoja1

Utilizaremos dos métodos para completar los espacios en blanco que hay debajo de ciertas palabras.



El resultado obtenido es el siguiente.



También podemos utilizar Macros.



Para que la macro funcione correctamente primero se ha de seleccionar el rango E4:E23.
Observe el código que con Set Rng = Secection lo que hacemos es recogen en la variable objeto Rng el rango que previamente teníamos seleccionado. De este rango deseamos obtener la fila y columna de inicio que es la fila 4 y columna 5, y el número de celdas que son 20. Ahora ya podemos trabajar con estos valores y meternos en un For...Next que nos permitirá recorrer el rango y analizar si la celda está vacía o no. Si está vacía hacemos que tome el valor de la previa.

Sub Completa()
Dim Rng As Range
Dim FilIn As Long 'Fila de inicio del rango
Dim ColIn As Integer 'Columna de inicio del rango
Dim NumCeldas As Long
Dim Fila As Long
Set Rng = Selection
FilIn = Rng.Application.ActiveCell.Row
ColIn = Rng.Application.ActiveCell.Column
NumCeldas = Rng.Cells.Count
For Fila = FilIn To FilIn + NumCeldas - 1
  If Cells(Fila, ColIn).Value = Empty Then
    Cells(Fila, ColIn).Value = Cells(Fila - 1, ColIn).Value
  End If
Next Fila
End Sub

Hoja2

Deseamos obtener un resumen de la siguiente tabla.


 El resumen que pretendemos obtener es el siguiente.



Para conseguir nuestro objetivo realizaremos los dos procedimientos siguientes. Con el primero obtendremos un listado de ciudades y con el segundo las sumas que corresponden a cada ciudad.



Hoja3

Para eliminar filas en blanco ya se realizó un procedimiento con macro en otro post cuyo enlace es el siguiente.

En esta ocasión vamos a eliminar filas sin usar una macro. Existe una limitación de este método que consiste en que eliminará la fila donde todas las celdas estén vacías, pero también se eliminarán las filas que contengan alguna celda vacía aunque no queramos. Esto es, si alguna fila tiene datos y no deseamos eliminarla pero contiene una celda vacía, simplemente por existir una celda vacía eliminará la fila completa, aunque esta tenga otros datos.




miércoles, 3 de septiembre de 2014

Macros, iconos, seguridad y depuración paso a paso

Archivo de Excel utilizado: excelavanzado_macro_icono.xlsm

Dentro del tema de la programación de macros con grabadora y antes de introducirnos en la programación en VBA (Visual Basic for Applications) vamos a tratar tres temas de interés.
  • Lanzar macros con iconos
  • Seguridad en macros. Ubicaciones de confianza
  • Depuración de macros paso a paso pulsando F8

Libro Personal

También puede consultar esta otra entrada del blog que habla también sobre este tema.



El libro Personal en Excel es un libro muy especial (PERSONAL.XLSB) ya que todas las macros que se graben en él quedaran disponibles para cualquier libro que abramos.

Al grabar una macro con grabadora nos preguntan si deseamos que se grabe "En este Libro" o en el "Libro de macros Personal". Si se graba "en este libro" la macro únicamente estará disponible en ese libro, pero si se graba en el libro de macros Personal podremos invocar la macro desde cualquier libro.

Esto es posible ya que el libro de macros PERSONAL una vez creado se abre de forma oculta siempre que iniciemos la aplicación Excel. Podemos elegir que se abra no de forma oculta sino que se muestre y en ese caso también podemos aprovechar para convertirle en la platilla de inicio.


El libro PERSONAL.XLSB se graba en la siguiente ruta.
C:\Users\Adolfo\AppData\Roaming\Microsoft\Excel\XLSTART
El usuario en mi caso es Adolfo, siendo necesario que cada uno adapte la ruta a su propio usuario.
Esta es la ruta en Windows 8 y en Excel 2010. La ruta puede cambiar según la versión de Windows y la versión de Excel que se esté usando.

El fichero que se ha generado en mi ordenador es el siguiente.

Nota

Existe una entrada anterior que trata el tema del libro personal en Excel 2007.

sábado, 30 de agosto de 2014

Grabación de un Formulario

Archivo de Excel utilizado: excelavanzado_grabacion_formulario.xlsm

Veamos cómo crear un formulario y como incorporar los valores a una base de datos de forma automática con una macro que grabe los registros simplemente pulsando un botón. La macro que haremos no requiere programación de código y se realiza con la grabadora de macros.

Primer Vídeo

En este vídeo veremos cómo se crea el formulario usando una de estas dos herramientas.
  • Validación de datos
  • Controles de formulario

Segundo Vídeo

Realizaremos de forma manual la incorporación de los datos del formulario a una base de datos y luego crearemos una macro con grabadora que permita automatizar el proceso. De esta forma para alimentar la tabla que se crea lo único que hemos de hacer es rellenar y seleccionar los distintos valores del formulario y cuando ya los tengamos pulsaremos un botón que lanza la macro y se añade el nuevo registro a la base de datos.


Tercer Vídeo

Vamos a retocar un poco el código que ha generado la grabadora de macros. El objetivo es conseguir que los nuevos registros de la base de datos no se queden arriba sino que se incorporen en la parte baja de la tabla.

jueves, 21 de agosto de 2014

Macros con Grabadora

Archivo de Excel utilizado: excelavanzado_grabadora.xlsm

Una macro es un programa que realizamos para automatizar procesos repetitivos. No solo se pueden crear macros en Excel, muchos otros programas pueden crear sus propias macros, por ejemplo Photoshop.

Vamos a crear una macro con grabadora y vamos a lanzarla de varias formas:
  • Con un atajo de teclado: Control + Letra
  • Con el menú de Macros
  • Desde el Editor de Visual Basic
  • Con botones
  • Con imágenes
Primero aprenderemos a obtener la ficha PROGRAMADOR para poder trabajar con macros.

Realizaremos macros de posición absoluta y de posición relativa, que son las que se ejecutan a partir de donde tengamos situado el cursor cuando la lanzamos. El icono se denomina "Usar referencias relativas".

Grabaremos el archivo con extensión XLSM que son los habilitados para macros.

Veremos el Editor de Visual Basic al que podemos acceder con Alt+F11.

Las macros se pueden detener presionando la tecla Esc y si esto no funciona el método general para detenerlas es presionando la tecla: Control+Pausa. Es una tecla que suele estar el los teclados arriba a la derecha. Junto a la palabra pausa en ocasiones pone la palabra Interrumpir o una abreviatura (Inter) o en inglés Break.


Primer Vídeo

Veamos el vídeo para crear nuestra macro.


Segundo Vídeo

Veamos diferentes formas de lanzar la macro. Para que la macro no se ejecute siempre en la misma posición dentro de la hoja veremos cómo crear macros de posición relativa.


miércoles, 19 de octubre de 2011

Libro Personal en Excel

Descargar el fichero: RentaGeoFracECO2011.xlsm

Mostramos un vídeo de cómo se crea el libro Personal.xlsb en Excel 2007. Este libro nos permitirá disponer de todas las macros que contenga, para que se puedan ejecutar desde cualquier otro libro que abramos en el futuro.

En este caso vamos a incluir en el libro personal las funciones creadas por el usuario:
  • VAgeo
  • VFgeo
que calculan en valor actual y el valor final de rentas geométricas.




En Excel 2003

En Excel 2003 el libro se denomina Personal.xls, y disponemos del siguiente truco:

Podemos crear una macro para que este disponible en todas las hojas de cálculo. Esto se hace con el libro PERSONAL.XLS

Personal.xls es un Libro que se carga cada vez que se inicia Excel, pero no esta visible ya que tiene el atributo de Escondido (Hidden), por lo que si necesitamos modificarlo lo debemos hacer a través del comando "Mostrar" del menú "Ventana".

En caso que no exista lo podemos crear con un libro de trabajo nuevo, salvarlo con este nombre y dejarlo en la carpeta "InicioXL" (XLStart), que se encuentra en la carpeta "Office" del directorio donde esta instalado MSOffice. Cada vez que dejamos de trabajar con este archivo, lo debemos salvar y luego activar el comando "Ocultar" del menú "Ventana", para que no se vea cuando iniciamos la aplicación.

La ruta de mi fichero en Windows XP es:

C:\Documents and Settings\Adolfo\Datos de programa\Microsoft\Excel\XLSTART\PERSONAL.XLS


En Excel 2010 y 2013

En Windows 7 y Windows 8 mi ruta para Excel 2010 y Excel 2013 es la siguiente.

C:\Users\Adolfo\AppData\Roaming\Microsoft\Excel\XLSTART\PERSONAL.XLSB

Desde la versión 2007 en adelante el libro Personal para a tener la extensión XLSB. En la ruta anterior es posible que no vea la carpeta AppData, si esto es así es debido a que por defecto se encuentra oculta, y hemos de pedir al Explorador de Windows que nos muestre las carpetas ocultas.

En Excel 2016


lunes, 26 de abril de 2010

Ficha Programador y ficha Desarrollador

La ficha Programador no está activada por defecto cuando se instala Microsoft Office. Cuando la instalamos en uno de los programas del Office queda instalada en los demás. Vamos a instalarla desde Word y comprobaremos que queda instalada en Excel, aunque podríamos hacerlo al contrario.


Vamos a Word (versión 2007) y pulsamos sobre el botón del Office:


Luego se eligen 'Opciones de Word'


Si estuviéramos en Excel elegiríamos 'Opciones de Excel'.

Ahora marcamos la opción 'Mostrar ficha Programador en la cinta de opciones'.

Ahora ya podremos ver la ficha Programador en de la cinta de opciones de Word.
Si vamos a Excel ahora también podremos ver la ficha Programador.






Ficha Programador en Excel 2010

Para obtener la ficha Programador en Excel 2010 seguiremos estos pasos:

  1. Archivo
  2. Opciones
  3. Personalizar cinta de opciones
  4. A la derecha marcaremos la casilla de verificación para activar la ficha Programador

En Excel 2016 se llama Desarrollador 

En las nuevas versiones ya no se denomina ficha programador, ahora se llama ficha Desarrollador. En inglés es Developer. Los pasos son los mismos que los indicados anteriormente.


En el siguiente audio se comenta cómo se puede conseguir.