En este día número 7 del Reto40Excel aprenderás el desarrollo de una Macro en Excel para extraer datos con condiciones, aprenderás a extraer datos de Excel con una Macro, también aprenderás a recorrer un listado de una cantidad de filas en Excel aplicando ciclos con código VBA, aprenderás a la declaración de variables en Excel con VBA, aplicaremos el código que permite consultar cuál es la última fila que tiene datos, esto para llegar a lo que se pretende del ejercicio.
También tendrás en cuenta qué puedes aplicar varias condiciones a un mismo Rango de datos, en este caso tomaremos como ejemplo los campos a los cuales se les aplicarán las condiciones correspondientes, esto es muy importante porque ya empiezas a trabajar no con una condición sino con varias condiciones al mismo tiempo con el fin de desarrollar la Macro en Excel para extraer datos, es muy importante que sigas el paso a paso este material para que consigas el objetivo final qué es maximizar tu desempeño con Excel.
Tendremos en cuenta para el desarrollo de la Macro en Excel para abrir archivos externos la implementación de dos variables, una variable es de tipo String o de tipo texto o cadena que le llaman algunos y la otra variable es de tipo Excel.Workbook, con el uso de estas dos variables vamos a poder desarrollar y ejecutar la Macro en cuestión porque también para la Macro en Excel para abrir archivos externos implementaremos el elemento Workbooks.Open y a través de este podremos ejecutar el condicional IF para abrir archivos, te doy la bienvenida al recurso que hemos preparado para que lo veas de principio a fin.
A continuación se especifican las herramientas utilizadas en el material de este día:
– Macro en Excel para extraer datos
– Función IF en VBA
– Variables en VBA
– Asignar dato a variables en VBA
– String en VBA
– Ciclo for en VBA
– Extraer datos con VBA
Para no perderte nada de lo que compartimos en las redes sociales, puedes seguirnos a través de los siguientes medios:
Youtube: https://goo.gl/FrswaC
Facebook: https://goo.gl/W5dIsa
Twitter: https://twitter.com/ee_excel
Instagram: https://goo.gl/xadGB5
Linkedin: https://goo.gl/Os1boH
A continuación el material de hoy:
Click >> Aquí << para descargar ejercicio del día
1) Recibe estos vídeos GRATIS >> https://goo.gl/FrswaC
2) Suscríbete a este curso gratuito para aumentar tu productividad en Excel un 80% y obtén 4 regalos adicionales al suscribirte a este curso: http://goo.gl/zNqh0o
Artículos anteriores:
- Día 5 – Sumar últimas celdas en Excel – Reto40Excel v.2016
- Día 4 – Formato condicional para mostrar repeticiones a partir de una variable – Reto40Excel v.2016
- Día 3 – Ordenar con letras y números en Excel – Reto40Excel v.2016
- Día 2 – Definir cálculo con Función SI y lista desplegable en Excel – Reto40Excel v.2016
- Día 1 – Validación de datos en Excel para limitar cantidad y contenido en una celda – Reto40Excel v.2016
- Lanzamiento de Reto40Excel v.2016
- Función SUBTOTALES en Excel
- Sumar en Excel con condiciones – Parte 3 de 4 – Excluyendo mes
- Sumar en Excel con condiciones – Parte 2 de 4 por período
- Sumar en Excel con condiciones – Parte 1 de 4 Listas desplegables
Exelente muy bueno!. Le felicito Lenis. Dime como puedo descargar el ejercicio del dia, ya que sale una etiqueta y no permite hacer nada. Muchas gracias y mucho exito.
Hola Alexi, mira el siguiente contenido, gracias por comentar, saludos
Saludos Alfonso,
Un aporte para este reto:
Sub extraerDatosEjercicio()
Dim ultFilaDatos As Long
Dim ultFilaEmpleados As Long
Dim nombreCompleto As String
Dim fechaIngreso As Date
Dim salario As Double
Dim comision As Double
Dim cont As Long
ultFilaDatos = Sheets(“Ejercicio”).Range(“C” & Rows.Count).End(xlUp).Row
For cont = 8 To ultFilaDatos
nombreCompleto = Sheets(“Ejercicio”).Cells(cont, 3)
fechaIngreso = Sheets(“Ejercicio”).Cells(cont, 4)
salario = Sheets(“Ejercicio”).Cells(cont, 5)
comision = Sheets(“Ejercicio”).Cells(cont, 6)
If comision > 100 And Year(fechaIngreso) = 2014 And Month(fechaIngreso) >= 1 And Month(fechaIngreso) <= 4 Then
ultFilaEmpleados = Sheets("IngresosEjercicio").Range("C" & Rows.Count).End(xlUp).Row
Sheets("IngresosEjercicio").Cells(ultFilaEmpleados + 1, 3) = nombreCompleto
Sheets("IngresosEjercicio").Cells(ultFilaEmpleados + 1, 4) = fechaIngreso
Sheets("IngresosEjercicio").Cells(ultFilaEmpleados + 1, 5) = salario
Sheets("IngresosEjercicio").Cells(ultFilaEmpleados + 1, 6) = comision
End If
Next cont
End Sub
Gracias
Hola Juan, gracias por el aporte. Saludos
Buenas tardes Ing. Alfonso
al realizar mi ejercicio del dia 7 me salio este error. Error 13 tipo datos no coincide . Me puede colaborar
Sub extraerDatos()
Dim ultimaFilaDatos As Long
Dim ultimaFilaEmpleados As Long
Dim nombreCompleto As String
Dim fechaIngreso As Date
Dim comision As Double
Dim cont As Long
ultimaFilaDatos = Sheets(“Reto40Excel”).Range(“B” & Rows.count).End(xlUp).Row
For cont = 8 To ultimaFilaDatos
nombreCompleto = Sheets(“Reto40Excel”).Cells(cont, 2)
fechaIngreso = Sheets(“Reto40Excel”).Cells(cont, 3) — el depurador queda aqui.
Hola Juan, cuando el error es que no coinciden el tipo de datos, debes revisar qué valores reciben las variables. En el código, el valor que recibe fechaIngreso puede no ser de tipo DATE. Verifícalo, gracias por comentar, saludos
Pingback: Día 13 - Macro en Excel para ingresar datos con mensaje de confirmación #Reto40Excel 2016 - Especialistas En Excel
Pingback: Recordatorio en Excel cuando falten días para una fecha
Pingback: UDF: Función definida por el usuario en VBA
Pingback: Crear nuevos archivos en Excel a partir de las hojas y Copiar hojas de Excel automáticamente
Pingback: Tablas dinámicas en Excel - ¿Cómo agrupar manualmente?
Pingback: Control de horas ingresadas con Formato condicional en Excel
Pingback: Diferentes listas desplegables en Excel en una misma celda con validación de datos
Pingback: Exportar Excel a PDF con macros de Excel
Pingback: Solución para la Gestión de actividades en Excel
Pingback: Gestión de actividades en Excel, cronograma en Excel
Pingback: Consultar por Fila y Columna en Excel con la función SUMA
Pingback: Crear hipervínculos en Excel a las hojas automáticamente
Pingback: Cómo mostrar u ocultar hojas con hipervínculos en Excel
Pingback: Fórmulas matriciales en Excel - Nivel básico
Pingback: Formularios en Excel VBA: Consultar datos base de datos en Excel
Pingback: Ingresos y Egresos en Excel
Buen Día.
En esta ocasión necesito su ayuda espero y me puedan apoyar.
TENGO LA SIGUIENTE SITUACIÓN
A diario en mi base de excel tengo una columna con nombres de empresas con razón social
Ejemplo:
empresa 1 , S.A. de C.V. SOFON E.N.R
empresa 2 S. P. R. De R. L. De C. V.
empresa 3 , S.A. de C.V. de S.O.C.I.
empresa 4 , S.A. de C.V. (S.E.E.P.)
empresa 5 S.C DE A.P DE R.L DE C.V
Para alimentar otra base necesito solo el nombre de la empresa SIN:
S.A. de C.V. SOFON E.N.R.
S. P. R. De R. L. De C. V. ,
S.A. de C.V. de S.O.C.I.
etc,etc,etc…….
Lo remplazo manualmente con la opción que me muestra en la barra de herramientas y me cuesta mucho tiempo tener que realizar esta actividad a diario ya que cuento con casi mas de 2000 razones por quitar.
Espero me puedan ayudar
Gracias
Hola Giovanni, recomendamos éste vídeo, tiene exactamente lo que necesitas, esperamos que te sirva. Gracias por comentar, saludos