Empezamos con el Curso Práctico de Programación de Macros en Excel. En esta primera sesión os mostraré el ejercicio que vamos a desarrollar y empezaremos a dar los primeros pasos en él. Entre otras cosas crearemos un ComboBox en el que cargaremos las opciones con una Macro.
Curso: | Curso Práctico VBA. |
Formato: | Vídeo/Tutorial. |
Archivos necesarios: | Curso Práct 01...xlsm |
Siguiente Sesión: | Filtrar Datos... |
Acceso al vídeo en Youtube: |
Empezamos un nuevo curso dedicado a la programación en Excel, pero este es un curso un poco especial, se trata de un curso orientado sobre todo a temas prácticos. Como ya sabéis muchos, anteriormente me dedicaba a impartir cursos presenciales de los mismos temas que desarrollo en el Blog y en el Canal y uno de los que impartía era el curso dedicado a la Programación de Excel. Durante ese curso, hacía dos tipos de sesiones, por un lado sesiones como las que ya he publicado en el Blog, en las que explicaba conceptos generales del lenguaje VBA. Y por otro lado también realizaba sesiones en las que iba desarrollando un ejercicio con el que practicamos todo lo visto en el otro tipo de sesiones, combinándolo con conceptos nuevos relacionados con las herramientas que más se suelen utilizar en Excel. Esta es la primera sesión dedicada a la creación de ese ejercicio.
Este curso sobre todo sirve para acercaros a la programación de Excel desde un punto de vista más práctico de lo que suelen ser los cursos de VBA en Excel. Vais a ver como manejar las herramientas más potentes de Excel desde una Macro con VBA. Es un ejercicio muy completo y creo que os va resultar realmente útil a la hora de resolver problemas reales que tengáis en vuestro trabajo. Para que os hagáis una idea se van a tratar temas como la importación de datos desde una base de datos de Access, la conexión de Excel con documentos de Word, creación de formularios, creación de Tablas Dinámicas y muchos temas más que creo que son muy interesantes.
En el curso uso la versión 2007 de Excel, pero prácticamente al 100%, todo funcionará en las versiones posteriores, Excel 2010, 2013, etc... En esta sesión principalmente haremos lo siguiente:
- Os muestro el ejercicio casi acabado, para que os hagáis una idea de lo que vamos a conseguir.
- Os explicaré como añadir un ComboBox a una hoja de Excel.
- Aprenderemos a crear filtros avanzados desde una Macro.
- Los resultados que devolverán esos Filtros Avanzados los utilizaremos para cargar las opciones de un ComboBox, también desde una macro.
Todos mis vídeos son Gratis, pero si te gusta mi trabajo, puedes realizar una donación para que pueda continuar con este proyecto. Cualquier cantidad desde 1€/1$ es bienvenida. Gracias!!!!!!!!!!!!!!
Para seguir esta sesión podéis descargar el siguiente archivo que utilizo en el Vídeo.
*Siguiente sesión*:
Te felicito por tan excelente tutorial, espero con emoción el siguiente para seguir conociendo
ResponderEliminarGracias.
ResponderEliminarAhora voy a empezar a preparar la segunda parte. Voy un poco retrasado para lo que quería haber publicad ya, pero hasta que no acabe de trabajar no hay manera.
Saludos.
Da error en excel 2010 en la línea
ResponderEliminarSelection.AdvancedFilter Action:=xlFilterCopy, CopyRange:=Range("F1"), Unique:=True
Hola Cando
ResponderEliminarTe has comido un pequeño detalle no es "CopyRange", es "CopyToRange". A ver si solo es por eso.
Saludos.
hola, burro soy.
ResponderEliminarun saludo
Jejeje.
ResponderEliminarNo te fustigues. Es fácil saltarse algún detalle.
Saludos.
David, para cuando el siguiente.
ResponderEliminarEstoy impaciente!!!!
Hoy tengo que acabar todo lo del curso presencial y en cuanto lo tenga ya estoy disponble al 100% para el Blog. Tengo preparado un 50% o así. Osea que yo calculo que para el Martes podría estar.
ResponderEliminarSaludos.
Excelente trabajo que estas empezando a elaborar. Te auguro un éxito con este blog.
ResponderEliminarHola
ResponderEliminarGracias. Lo has dicho bien, estoy empezando, no se puede imaginar la gente lo que cuesta publicar nuevas sesiones.
Saludos.
Excelente video...muy interesante tu aporte...saludos desde Colombia
ResponderEliminarDavid,
ResponderEliminarFelicitaciones por tus conocimientos y muchas gracias por compartirlos.
Saludos Cordiales y Grandes Exitos.
Daniel Agüero.Santiago de Chile.16-05-2012
Muchas gracias!!!!!!!!
EliminarSaludos.
amigo la verdad que te luces con estos curcillos que das la verdad que me has sacado de muchas incognitas ya que pues tenia mucho interes de iniciarme en esta tarea de programar
ResponderEliminarMe alegro que te hayan servido!!!!!
EliminarSaludos.
hay alguna manera de que podes programar algo para que al momento de abrir algun archivo mio pida usuario y contraceña para poder iniciar el libro algo asi usando algun UserForm????
ResponderEliminarPor poderse se puede, pero no es algo corto de explicar y de hacer si lo que quieres es que dependiendo del usuario se puedan hacer unas cosas u otras. Si lo que quieres es poner contraseña de apertura al documento para que solo tú puedas entrar esto ya es más fácil.
EliminarSaludos.
La verdad es que tu curso es super didáctico. Más que felicitarte tengo que agradecerte por compartirlo abiertamente.
ResponderEliminarVoy para la parte 2
Muchas gracias!!!!!! Todavía te falta mucho para acabarlo.
EliminarSaludos.
Buenos Dias mira estoy comenzando a ver los videos y en el primero de excel habla sobre que hay que bajar un archivo pero donde lo bajo porque no lo encuentro.Espero puedas ayudarme gracias.
ResponderEliminarAquí mismo arriba, tienes una imagen de un disquete verde que si haces clic encima te permite descargarlo. Si no puedes, cambia de navegador o actualiza el que tengas, con Internet Explorer y Google Chrome funciona perfectamente.
EliminarCada sesión tiene los archivos necesarios puestos de la misma manera.
Saludos.
ok muchas gracias que ciego soy jajajaja,
EliminarTranquilo, si te sirve de consuelo no eres el primero que lo pregunta, jejejeje.
EliminarSaludos.
Buenas Tardes estoy viendo los videos Si quiero aprender esto. los estoy viendo y al mismo tiempo haciendo el ejercicio pero mira estoy en el video 1 y coloque los datos en visual basic. asi .
ResponderEliminarSub CargarPaises()
hojadatos.Select
Range("A1").CurrentRegion.Select
Selection.AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range("F1"), Unique:=True
End Sub
Pero me da el siguiente mensaje
-Se ha producido el error'1004' en tiempo de ejecucion:
Este comando requiere al menos dos filas de datos. No se puede usar en una seleccion con una unica fila. Intente lo siguiente:
.Si esta sando un filtro avanzado, seleccione un rango de celdas con datos organizados en al menos dos filas. A continuacion, haga clic en el comando filtro avanzado .
.Si esta creando un informe de tabla o de grafico dinamico.escriba.
No tranquilo lo volvi hacer todo desde el principio y me salio bien la primera vez me debi haber saltado algo
ResponderEliminarOK, entonces ya está resuelto.
EliminarSaludos.
LOS TUTORIALES QUE PUBLICAS SON LOS MEJORES DE LA RED, MUCHAS FELICIDADES!!! DESDE MEXICO, SALUDOS
ResponderEliminarMuchas Gracias!!!!!!!!
EliminarSaludos.
buenos dias ke bueno ke di con tu blog me interesa mucho aprender excel
ResponderEliminarcomentas en tu primer video de BVA ke hay algunos archivos para descargar, en ke parte de blog se encuentran esos archivos ??
saludos buen dia
Hola
EliminarEn cada sesión están los archivos para descargar. En esta sesión tienes arriba el documento de Excel que se necesita. Si no lo ves o no lo puedes descargar actualiza tu navegador o cambia a IE o Google Chrome. Con esos no hay ningún problema.
Saludos.
Buenas tardes David, te molesto por la siguiente consulta, tengo listo un libro de excel 97-03, con varios macros (userform,etc)en VB, y me gustraía que cada hoja tenga los nombre de filas y columnas fijas , asi como diferentes colores. La idea es que al abrir el libro se mantenga ese formato y que no se pueda modificar por otro usuario.
ResponderEliminarMuchas Gracias. Antonio
Te comento, al ser una duda personal o trabajo lo que me pides se rige por las normas que puedes leer en el siguiente enlace. De todas las maneras ya te aviso que es prácticamente imposible proteger al 100% un libro. Si alguien se lo propone se acaba consiguiendo y quizás más si cabe en las versiones 97-2003.
Eliminarhttp://davidasurmendi.blogspot.com.es/p/contacta-con-david-asurmendi-ochoa.html
Excelente trabajo y sobretodo muy didáctico y mucha paciencia al explicarlo. Mis felicitaciones desde Bolivia, si en algo puedo colaborar me avisas, al mismo tiempo aprendo.
ResponderEliminarFelipe. fverae@hotmail.com
Muchas gracias por el comentario.
EliminarSaludos.
Excelente tutorial!!!
ResponderEliminarMe alegro!!!!!!!!!!!!
EliminarSaludos.
David.
ResponderEliminarGracias por compartir parte de tu conocimiento.
Excelente Material.
De nada!!!!!!!!!!!
EliminarSaludos.
lo que haces no tiene nombre, estoy cansado de pasearme de web en web y de foro en foro pero contigo cambia mi concepto de la programación ,haces fácil lo difícil y parece que adivines las dudas antes de que preguntemos un 10 con muchos plus para ti.estoy en murcia y me gustaría saber si impartes seminarios o cursos cerca.para poder asistir o al menos intentarlo
ResponderEliminarGracias Fran!!!!
ResponderEliminarPues parte de lo que comentas creo que lo da la experiencia. Son casi 12 años impartiendo cursos y al final el que más aprende soy yo por todo lo que se me pregunta. Por eso te puede dar esa sensación de adelantarme a las dudas, porque en este tiempo me han preguntado muchas cosas ya, jejejeje.
Luego también está el concepto de formar que tiene cada uno. Hay gente que piensa que repito mucho las cosas o que voy lento, pero es la única manera que hay de no descolgar a mucha gente.
Y muchos más cosas pero tampoco quiero aburrirte... En cuanto a lo de los cursos cerca de Murcia pues lamentablemente no. Solo imparto cursos por Navarra y al paso que vamos ya ni por aquí, porque cada vez esta peor.
De todas las maneras lo que os doy aquí, es lo que os daría en un curso presencial, no me guardo nada bajo la manga. La única ventaja de los presenciales es que como tengo todo el material preparado, lo doy completo. Aquí como hay que grabar, editar, publicar, etc... pues es más lento. Bueno, eso y el tema de dudas, preguntas, etc... que siempre mejor en un presencial.
Saludos.
David Asurmendi Ochoa.
David como descargo los archivos para desarrollar los ejercicios? ya vi todos los videos pero no he podido practicarlos por que no se como descargar los archivos, por sierto que cursos mas buenos, muchas gracias.
ResponderEliminarAquí mismo, arriba tienes una imagen con un disquete verde. Haz clic encima y lo descargas. Si no puedes actualizar tu navegador, igual ahí está el problema.
EliminarCada sesión del Blog tiene los archivos para descargar en el mismo sitio.
Saludos.
hola amigo david......muy buenos sus tutoriales.......pero la verdad se muy poco sobre las funciones que cumplen cada una de esas aplicaciones que se usan en vba como userforme y todos los demas....no tiene un archivo que me pueda mandar al correo para conocer mas detalladamente la funcion de cada una de estas......mi correo es Wiston.98@hotmail.com
ResponderEliminarHola
EliminarNo, no tengo nada para enviarte. De todas las maneras si no has tocado nunca VBA deberías empezar por el curso de VBA en Excel 2010 que empieza desde el principio.
Saludos.
Selection.AdvancedFilter Action:=xlFilterCopy, CopytoRange:=Range("F1"), Unique:=True
ResponderEliminarComo hago para que la columna F quede ordenada ascendentemente (ya seaN palabras o números)
Hola
EliminarPues así de memoria no recuerdo como se hace, pero ahora mismo no te puedo mirar como sería. Puedes hacer lo mismo que yo haría para darte la respuesta, grabar una macro que ordene esos datos y ahí tendrás la respuesta.
Ahora mismo no dispongo de tiempo para responderos dudas que se salgan de los que son los vídeos.
Saludos.
HOola .. recién estoy entrando al mundo de excel y pienso realizar todo lo que estas enseñando en tus tutoriales ... pero mi curiosidad sobre el primer video que acabo de ver es como creaste la hoja analisis es decir como isiste ese formato de poder colorear las hojas .. por fa si pudieras ayudarme aunqesea por escrito.. soy muy buen entendedor. gracias por tu curso.. (y) esta muy bueno!!!!
ResponderEliminarHola Sandro
EliminarPues no lo tengo a mano pero creo recordar que no tenía mucho misterio. Simplemente colorear las celdas con colores de fondo.
Y creo que quite las líneas de las celdas y los encabezados de filas y columnas. Esto se puede hacer en las opciones de Excel. En la sección avanzado.
Saludos.
Soy coordinador de sorteos en mi trabajo y por lo tanto tengo una base de batos donde se registran cada sorteo, para saber cuando se necesita entregar cada componente esta base está ligada por fórmulas a la base, además de ligar le también los reportes de cada sorteo, pero como todo esta ligado el problema es que son archivos muy pesados, que me sugieres hacer para corregir este problema?
ResponderEliminarHola
EliminarEs que cada documento es un mundo y no en tods se puede hacer lo mismo. En programación lo que se suele hacer es desactivar el refresco de la pantalla mientras hace el trabajo, así ganas tiempo.
O también se puede desactivar el cálculo automático de las fórmulas. En el momento que modificáis una celda se re calcula todo otra vez y eso es mucho trabajo.
Pero ya te digo que hay que ver como es cada documento para ver que se puede hacer.
Saludos.
Buenas, primero felicitarte por tan grande aporte, recien me estoy empapando con buen material sobre Vbe, ya que hay gran cantidad pero a mi parecer muy ambiguo o desarrollado para personas con grandes conocimientos de esta herramienta.
ResponderEliminarDavid me tira un error aqui:
Do Until Cells(Fila, "F") :""
que es lo que sigue despus del parentesis, que no es muy visible y muchas gracias
Gracias!!!!!!!!!!!
EliminarLa línea es así:
Do Until Cells(Fila, "F") = ""
De todas las maneras cuando tengas alguna duda sobre lo que pone, bájate el archivo de la siguiente sesión, en este caso el de la dos, que ahí está el código de la anterior.
Saludos.
hola Experto;
ResponderEliminarPrimero felicitarte por tus videos que son un gran aporte,
Segundo, tengo un problema con una macro, el trabajo es sencillo, se trata de copiar y pegar datos de LIBRO1 a LIBROMATRIZ, LIBRO2 a LIBROMATRIZ, LIBRO3 a LIBROMATRIZ,el cual LIBROMATTRIZ es que almacena toda la data, todos archivos estan guardados en una carpeta, ahora, el problema que tengo es que dependo de que todos los libros esten en la carpeta, ya que si falta uno de ellos me sale un error y la macro se detiene, COMO PUEDO CAPTURAR EL ERROR SI ES QUE FALTA UNO DE ELLOS
Hola
ResponderEliminarCon las instrucciones On Error puedes controlar que quieres que pase cuando se produce un error. De todas las maneras yo lo que haría es comprobar si el archivo existe antes de hacer el trabajo correspondiente.
Saludos.
Excelente! Muy buen ejercicio, Muchas gracias.
ResponderEliminarDios te bendiga.
Excelente! Muy buen ejercicio, Muchas gracias.
ResponderEliminarDios te bendiga.
Gracias!!!!!!!!!!
EliminarBuen Dia David
ResponderEliminarGracias infinitas en el ejemplo que adjuntas ,tengo una granduda , como sabe elprograma que la columna que debo filtrar la columna paises?
Independiente de la duda cuando aplico f5 recibo el error 1004 en tiempo de ejecucion
Error definido por la aplicacion o el objeto
la sentencia que escribo es
Selection.AdvancedFilter Action:=xlFilterCopy, COPYTOTANGE:=Range("F1"), uNIQUE:="True"
Te he contestado en el vídeo, en Youtube.
EliminarSaludos.
Hola buenas tardes..Muchas gracias por el curso, es excelente... tengo un problema... me da error 424:en tiempo de ejecución, se requiere un objeto...
ResponderEliminarHojaAnalisis.cboPaises.AddItem Cells(Fila, "F")
Revisa si tienes el nombre de la hoja y del cuadro combinado bien puestos, si coinciden con lo que has puesto en el código. Si sigue envíamelo a davidasurmendi@gmail.com
EliminarSaludos.