Problema macros!
Hola, tengo un macro que me esta dando un dolor de cabeza muy fuerte desde hace 15 días y no lo puedo codificar correctamente, supuestamente mi macro tiene que hacer algo como un query de dos libros(libro1 y libro3), copia los datos que necesito y los pega en un tercer libro que se crea en ese momento,
En un user form tengo un textbox donde escribo la clave de POR producto, entonces empieza a buscar los productos que tengan esa clave en el libro1 (la clave se encuentra en la columna B), de ahí el macro me tiene que copiar el nombre(columna A), el precio (columna C) y la clave (columnaB)(obvio me refiero a los productos que tengan dicha clave), los datos anteriores los pega en el libro2(el libro que se crea cuando se ejecuta el macro), por decir algo los datos del libro1 se deben pegar en las filas 2 a la 5 y los del libro3 deben pegarse de la 7 en adelante dejando libre la 6 para distinguir entre una y otra, una ves pegado cada rango de datos, hace una sumatoria de la columna C de cada rango respectivamente(para comodidad o facilidad, antes de insertar los datos del libro3, se hace la sumatoria del libro1, lo que después es un problema cuando se necesita hacer lo mismo con el libro3), el resultado de dicha sumatoria se ve en la celda inferior derecha inmediata al filal del rango(en el caso del libro1, la celda donde quedaría el resultado es la D6) y de la misma forma se haría con la del libro3, después de que se tienen los dos resultados se hace una resta entre ambos y el resultado se pega de la misma forma que con los dos anteriores(osea en la celda inferior derecha inmediata al final de la ultima celda activa).
Lo que mi macro ya hace:
Valida la clave del textbox(esto se hace al ingresar los datos en la caja y activar la búsqueda mediante un botón, cuando se refiere a la validación es que no se ingresen caracteres diferentes a números y no más de los que se ocupan)
Crear el libro2
Solo copia me un dato de ambos libros y no todo el rango de celdas.
Busca cual es la primer celda libre al final de un rango y posiciona la celda activa en la celda inferior derecha inmediata.
Si quieres te paso el escaso código que tengo y te mando un como prototipo de los archivos
En un user form tengo un textbox donde escribo la clave de POR producto, entonces empieza a buscar los productos que tengan esa clave en el libro1 (la clave se encuentra en la columna B), de ahí el macro me tiene que copiar el nombre(columna A), el precio (columna C) y la clave (columnaB)(obvio me refiero a los productos que tengan dicha clave), los datos anteriores los pega en el libro2(el libro que se crea cuando se ejecuta el macro), por decir algo los datos del libro1 se deben pegar en las filas 2 a la 5 y los del libro3 deben pegarse de la 7 en adelante dejando libre la 6 para distinguir entre una y otra, una ves pegado cada rango de datos, hace una sumatoria de la columna C de cada rango respectivamente(para comodidad o facilidad, antes de insertar los datos del libro3, se hace la sumatoria del libro1, lo que después es un problema cuando se necesita hacer lo mismo con el libro3), el resultado de dicha sumatoria se ve en la celda inferior derecha inmediata al filal del rango(en el caso del libro1, la celda donde quedaría el resultado es la D6) y de la misma forma se haría con la del libro3, después de que se tienen los dos resultados se hace una resta entre ambos y el resultado se pega de la misma forma que con los dos anteriores(osea en la celda inferior derecha inmediata al final de la ultima celda activa).
Lo que mi macro ya hace:
Valida la clave del textbox(esto se hace al ingresar los datos en la caja y activar la búsqueda mediante un botón, cuando se refiere a la validación es que no se ingresen caracteres diferentes a números y no más de los que se ocupan)
Crear el libro2
Solo copia me un dato de ambos libros y no todo el rango de celdas.
Busca cual es la primer celda libre al final de un rango y posiciona la celda activa en la celda inferior derecha inmediata.
Si quieres te paso el escaso código que tengo y te mando un como prototipo de los archivos
1 Respuesta
Respuesta de solnegro
1