Agenda en Excel (Address Book in Excel)

En este post voy a explicar cómo hacer una agenda en Excel. Voy a usar una macro para poder ingresar los datos mediante un pequeño formulario.
Podríamos hacer una agenda directamente ingresando los datos en filas sucesivas pero es algo incomodo.
Pueden armar una planilla y darle formato, quedando así:

Cómo ven, solo es una planilla dónde irán almacenados los datos. Utilizo inmovilizar paneles para que la parte de arriba, el formulario de entrada, este siempre visible. Una vez ingresado los datos, la macro utilizada para colocarlos en la planilla personas está vinculada a la flecha azul.
Ingresamos un dato queda así:


 Como vemos, la entrada de datos se puede hacer de forma manual directamente pero cuando tengamos suficientes datos, tendremos que estar bajando continuamente hacia abajo para encontrar la última celda dónde contiene datos, siendo esto un poco estresante cuando se trata de muchos datos. Cómo ven, incluso, podemos hacer un filtro.
Lo que falta es hacer la macro para que completando el formulario de arriba y apretando el botón ingresar, complete la siguiente celda vacía.
Proceso:

Paso 1: macro 1

Para solucionar el problema que se nos plantea vamos a tener que usar dos macros, la primera es muy fácil. Lo que hay que hacer es grabar la base del procedimiento.
La macro tendría que cortar los datos del formulario de arriba, luego pegarlos en la fila vacía de abajo pero sin formato.

No queda el siguiente código:
-------------------------------------------------------------------------------
Sub Macro1()
'
' Macro1 Macro
'
Range("B4:G4").Select
Selection.Copy
Range("B8").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Range("B4:G4").Select
Selection.ClearContents
Range("B4").Select

End Sub
-------------------------------------------------------------------------------------------------------
Paso2: contamos los datos ingresados
Antes de arreglar el código de la macro debemos usar un truco, se puede hacer de otra manera pero para no complicar el código lo hacemos así:


Como vemos, usamos un “contara” para contar todas las celdas que contienen datos en la primera fila, por supuesto que cada vez que guardamos un dato esta celda va a tener un dato, no puede estar vacio.
Parte 3: arreglamos el código de la macro
Vamos a macros >>modificar >> macro1
Luego arreglamos el código de la siguiente manera y cerramos la ventana del editor de VBA.
Obtenemos el siguiente código y nos queda lista la macro.
----------------------------------------------------------------------------------------
Sub Macro1()
'
' Macro1 Macro
'
'Copiamos los datos
Range("B4:G4").Select
Selection.Copy

'aquí es en donde vamos hacer el arreglo para pegar los datos
'vamos a tomar como referencia la primer celda en dónde podemos ingresar datos

conta = Range("i6") 'tomamos el valor de la celda "i6"
Range("B" & 8 + conta).Select 'queda ok!

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False

Range("B4:G4").Select
Selection.ClearContents
Range("B4").Select

End Sub
------------------------------------------------------------------------------

La columna auxiliar donde usamos la fórmula de “contara” la podemos ocultar si queremos para que quede más formal.
Listo, cada vez que ingresamos un dato el formulario, el dato se almacena en la última fila vacía que encuentra. SI utilizan el filtro, no interfiere con la macro.



Si quieren la planilla hecha, me dejan un comentario en el formulario de contacto y les respondo con el archivo.
Les dejo el video en este link, así ven como funciona.

Keys:

25 comentarios:

kevin buch can dijo...

Ando en el ambito de la informatica,
no puedo realizar o no encuentro la manera de realizar este tipo de acciones son respecto a macros, te pediria de Favor si me puedes dar la PLANILLA lo necesito, GRACIAS y BUEN BLOG ,,
me lo puedes enviar a mi correo:
inedc4kevinbuchcan@gmail.com
o
kerobucan13@gmail.com
GRACIAS Te lo agradeceria MUCHAS GRACIAS.

Juan Pablo dijo...

hola, gracias Kevin. Las planillas la puedes descargar en la zona de "Descargas". Si quieres puedes seguir el blog por alguno de los medios. Saludos

hi Kevin, thanks buddy! The sheets are in Download Zone "Descargas". If you want, can follow the blog.
Regards

Blanca dijo...

hola, es una buena aplicación.
Seguí tus pasos pero no he usado macros así que al final no realizó la operación que mencionas, además no se como vinculas la macro con la flecha y tampoco en que momento debo empezar y detener la grabación.
Espero puedas ayudarmne y también si podrías enviarme el archivo.
Mi correo es blancamorales.r90@gmail.com

Juan Pablo Torres dijo...
Este comentario ha sido eliminado por el autor.
Juan Pablo Torres dijo...

Hola Blanca, gracias por el comentario. Se entiende tu preocupación, fíjate el párrafo que dice "Les dejo el video en este link..." , ahí tienes el link donde puedes ver el video para hacerlo. Además puede descargar el ejemplo de la zona de "Descargas". Igual te escribiremos para estar en contacto. Saludos!

Nivardo Herrada dijo...

Pues, me parece muy práctico. Me gustaría una copia de la planilla. nivardo_herrada@yahoo.es. Gracias.

José Luis Cabrera dijo...

Excelente publicación, realmente necesito algo así, te animas a enviarme el archivo a josecabrera.clip@gmail.com desde ya, muchas gracias.

juancito holddem dijo...


me parece muy bueno. Me gustaría una copia de la planilla. juancastellon_30@hotmail.com Gracias.






















descargar videos de youtube

Juan Pablo Torres dijo...

Estimados Amigos, Gracias Por los comentarios. Pueden descargar el ejemplo en la zona de descargas que está en el menú de páginas.
La página de descargas es: http://excelminiapps.blogspot.com.ar/p/descargas.html
Y los links de los ejemplos que solicitan:
- Link ejemplo 1: http://goo.gl/KCNax
- Link ejemplo 2: http://goo.gl/RitbT
Por cualquier duda esperamos sus comentarios.
Saludos!

Manzanarez dijo...

Excelente sencillo pero 100% funcional, aportes así valen la pena, espero tu apoyo con una duplicado de archivo.

Juan Pablo Torres dijo...

Gracias, tu comentario es muy apreciado. En cuanto al archivo, esta disponible en la zona de descargas (. Puedes ver el tutorial de descarga en el canal de youtube.com/excelminiapps
También puedes subscribirte y seguir el blog.
Saludos.

MC dijo...

Hola:
Me gusta la agenda, pero no entiendo macros, me puedes enviar habilitada la macros y poder usar la agenda

te agradecere mucho
Marita
maritadetorres@hotmail.com

Juan Pablo Torres dijo...

Marita, puedes bajar la planilla de la zona de descargas. Es una de las primeras. Sino puedes escribe con el formulario de contacto.
Sds

jose_pineros dijo...

Hola Juan Pablo que gran aporte más para nosotros que no tenemos tanta suficiencia en Excel. Cómo puedo descargarla?

Jose
josepineros@gmail.com

Anders dijo...

Saludos.
Para agregar más campos a la agenda (por ejemplo compañia, etc.), como le hago.
Espero su ayuda.
La verdad esta muy práctica esta agenda, gracias por difundir esta información.
Gracias por leer este comentario.

Juan Pablo Torres dijo...

Hola amigo, cómo estas? para agregar campos agregas columnas, así de fácil. Si quieres consultarnos más cosas puedes hacerlo a través del formulario de contacto. Saludos

alan zoso dijo...

no puedo guardar la macro, me urge mucho y me encanto pero un tutorial para elaborarlo no estaria nada mal. saludos espero puedas ayudarme te paso mi correo alanmx1@hotmail.com

Javier dijo...

Hola excelente la aplicacion, me podrias enviar la planilla elaborada por favor? civil20@hotmail.com

de antemano gracias!!

Luis Valencia dijo...

Hola Juan gracias por crear este tipo de archivos y más a los que no entendemos mucho de programación no e podido hacer que funcione me lo podrías enviar te lo agradezco gracias

Juan Pablo Torres dijo...

Hola, gracias por tus comentarios. Este archivo lo puedes descargar de la pestaña "Descargas" de la parte superior del blog, además de otros ejemplos claro!

También puedes escribirnos mediante el form de "Contacto"

Saludos

Leyslia Leyslia dijo...

Hola, te cuento que este blog, esta de lujo.

Felicitaciones.

nicolas benedetti dijo...

hola, muy buena planilla podrias enviarmela por fa secretaria@lom.cl
seria de gran ayuda.

Juan Pablo Torres dijo...

Hola Nicolas, gracias por tu comentario, puedes descargar la plantilla desde la zona de descargas. Por cualquier comentario nos puedes escribir mediante el formulario de contacto. Saludos

jp dijo...

OLA ME GUSTO TU AGENDA .. SI NO HAY INCONVENIENTES ME PUEDES FACILITAR EL ARCHIVO..
DE ANTE MANO MUCHAS GRACIAS JPLLANOSNAVARRO@GMAIL.COM

Alejandro Mendoza dijo...

Saludos gracias por la explicación
me podrías compartir el archivo
alejandro0312@yahoo.com

te agradezco de antemano
saludos.