Visual Basic para Aplicaciones - VBA EXCEL, ¿Alguna solución mas practica?

Life is soft - evento anual de software empresarial
 
Vista:
Imágen de perfil de GERARDO
Val: 8
Ha disminuido su posición en 72 puestos en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

VBA EXCEL, ¿Alguna solución mas practica?

Publicado por GERARDO (22 intervenciones) el 23/01/2019 07:40:53
Hola

Tengo 2 tablas con datos, y quiero hacer una tercera tabla con los datos de las anteriores

Tablas

La forma por la cual la hago hoy en día es:

1.- A lado de cada tabla hago un BUSCARV para traer el dato de la otra tabla (Esto debido a que cada tabla tiene mas o menos registros, pero el la tabla final necesito ver todos los items de las dos tablas)
2.-Creo una tercera Tabla donde copio los resultados de ambas tablas
Tabla2BuscarV

3.-Utilizo la funcion de quitar duplicados y listo.

Todo esto lo hago con codigo vba

¿A alguien se le ocurre una mejor forma para hacerlo?

Saludos Cordiales
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de MIGUEL
Val: 424
Bronce
Ha mantenido su posición en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

VBA EXCEL, ¿Alguna solución mas practica?

Publicado por MIGUEL (121 intervenciones) el 23/01/2019 17:38:53
Buenos Dias.

La Forma en que yo lo resolveria seria la siguiente.
cree dos funciones que me permiten identificar si existe el codigo del producto uno para la hoja1 y otro para la hoja2
despues cree la rutina que suma los valores si es que existen,creo esto te puede ayudar aunque tendrias que modificar los rangos si es que no estan en las columnas que yo las puse, todavia se puede mejorar pero nesecitaria saber la estructura de tu archivo o hacer un userform para hacerlo dinamico

estas son las funciones.

2019-01-23-1


esta es la rutina

2019-01-23-2

Espero te sirva

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 1.134
Oro
Ha mantenido su posición en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

VBA EXCEL, ¿Alguna solución mas practica?

Publicado por Antoni Masana (498 intervenciones) el 24/01/2019 11:15:50
Otra opción para hacerlo de forma manual

Supongamos que la Tabla 1 esta en las columnas A y B
Supongamos que la Tabla 2 esta en las columnas D y E
Supongamos que la Tabla 3 esta en las columnas G, H y I

Copio la columna A desde la primera hasta la última fila de letras en la columna G.
Copio la columna B desde la primera hasta la última fila de letras debajo de lo copiado en la columna G.

Ordeno la columna G
Quito repetidos de la columna G

En la primera celda de la columna H correspondiente a la primera letra pongo esta fórmula (Supongo que la primera celda es la H1)
1
=SI.Error(BuscarV(G1;A:B;2;Falso);0)

En la primera celda de la columna I correspondiente a la primera letra pongo esta fórmula (Supongo que la primera celda es la I1)
1
=SI.Error(BuscarV(G1;D:E;2;Falso);0)

Y arrastras las fórmulas en toda las columnas H e I hasta la última letra.


Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de GERARDO
Val: 8
Ha disminuido su posición en 72 puestos en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

VBA EXCEL, ¿Alguna solución mas practica?

Publicado por GERARDO (22 intervenciones) el 25/01/2019 09:24:07
Hola
Primero que nada, muchas gracias por su apoyo, se agradece el tiempo

La solución que me diste es exactamente como lo hago, con la misma formula de si.error

Gracias de nuevo por tu apoyo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de GERARDO
Val: 8
Ha disminuido su posición en 72 puestos en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

VBA EXCEL, ¿Alguna solución mas practica?

Publicado por GERARDO (22 intervenciones) el 25/01/2019 09:33:02
Hola

Gracias por responder, tu solución si que es diferente a como lo hago, y obviamente la hace a la perfección, mi duda aquí es, las 2 tablas con las que trabajo tienen alrededor de 100 a 10,000 datos como mínimo y máximo ¿Es optimo hacerlo así, hacer 20,000 find's?

Gracias por tomarte el tiempo en responder

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 1.134
Oro
Ha mantenido su posición en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

VBA EXCEL, ¿Alguna solución mas practica?

Publicado por Antoni Masana (498 intervenciones) el 25/01/2019 10:15:54
Si esta unión de las dos o más tablas tienes que hacerla cada cierto tiempo lo mejor es una macro.

Seria interesante saber como bienes estas tablas, en que columnas están, cuantas columnas hay y en que hojas están, si están en el miso libro y donde hay que poner la tabla resultante. Con la Macro nos ahorramos las 20000 Formulas.

Se me ocurre otra posibilidad y es poner una tabla debajo de la otra, y añadir una columna diciendo a que tabla pertenece y así se prodría tratar con las Tablas Dinámicas que dan mucho juego.

Si quieres enviarme una muestra con formato real te hago la macro. En la cabecera veras mi correo por si lo prefieres.

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de GERARDO
Val: 8
Ha disminuido su posición en 72 puestos en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

VBA EXCEL, ¿Alguna solución mas practica?

Publicado por GERARDO (22 intervenciones) el 25/01/2019 10:40:26
Hola

Te envió el archivo, muchas gracias por todas las molestia que se esta tomando,me gustaría que hiciera anotaciones sobre las áreas de oportunidad que tengo , aprendí vba excel en un canal de Youtube así que no soy para nada bueno

Saludos cordiales
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 1.134
Oro
Ha mantenido su posición en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

VBA EXCEL, ¿Alguna solución mas practica?

Publicado por Antoni Masana (498 intervenciones) el 28/01/2019 10:02:21
He visto el archivo y el contenido no se parece en nada al ejemplo de la pregunta.

En el libro hay una hoja con datos en la columna A, una TABLA que va de B a L, otra columna con datos O y otra TABLA que va de P a Z

Cuando digo "TABLA" me refiero a una tabla en el sentido estricto de EXCEL.

He copiado las 12 columnas en otro libro, por un lado A:L y debajo el grupo O:Z (12 columnas), las he ordenado y he quitado las repetidas y el resultado es el primer grupo de datos.

No entiendo que es exactamente lo que quieres hacer con esto.

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar