Botón en excel que busque filas y las copie en otro libro de excel.

Necesito crear un botón que busque todas las filas de una hoja, que en una de sus columnas exista un valor distinto a 0, copie toda la fila y la pegue en otro excel.

Debe buscar entre varias pestañas de un mismo excel, o quizás se podría poner el mismo botón en cada una de las pestañas.

Con access si se hacerlo pero con el visual basic de excel no tengo ni idea de la sintaxis.

En resumen, es un excel con datos, si se pone la cantidad de un producto o de varios, al finalizar se le da al botón, este busca los productos y pega las líneas con todos los datos del producto en otro archivo excel, son muchas pestañas por lo que creo que mejor seria tener un botón en cada una de las pestañas para evitar tiempos de búsqueda en lugares que no interesan.

Cuando entienda como hacer un botón que consulte y copie lo pondré en un formulario de oferta pre formateado, el comercial añade los productos luego rellena el formulario con los datos del cliente le da al botón y todos los productos se añaden a la oferta.

1 Respuesta

Respuesta
1

H o l a:

Puede ser con un solo botón y qué busque en todas las hojas.

Para desarrollar el código me puedes comentar:

Dices: "En resumen, es un excel con datos, si se pone la cantidad de un producto o de varios, al finalizar se le da al botón, este busca los productos"

1. ¿En cuál hoja vas a poner la cantidad?

2. ¿En cuál columna vas a poner la cantidad?

3. ¿En cuál columna está el producto?

4. ¿El libro destino va a ser nuevo?

5. ¿En cuál columna de las demás hojas se va a buscar el producto?


Si pudieras explicar todo con imágenes y con ejemplos, procura que en las imágenes se vean las filas y las columnas de excel.

E spero tus comentarios en ese orden.

Hola

Son varios archivos de excel, seria programar el botón y ponérselo a cada uno de los archivos, cada uno tiene varias hojas, en cada hoja hay artículos de diferentes clases (por eso cambia la hoja) en cada hoja se pone la cantidad del articulo que se desea, la cantidad suele ir en la columna E, el botón debe buscar donde esta la cantidad distinta de 0 y copiar las columnas A, B, C, DE y E en otro archivo de excel.

Suponiendo que pueda cambiar el formato del resto de archivos para que los datos del producto estén en las columnas A, B, C y DE y la cantidad siempre en la columna E

Cuando un comercial vea la lista de productos elija los productos poniendo la cantidad en la lista, el botón debe buscar los valores que han cambiado, copiar todas las columnas a, b, c,de, e en un documento nuevo.

1. Todas las hojas tienen columna cantidad en la E, el nombre de l ahoja cambia en cada archivo así que tendría que modificarlo para cada archivo de excel de tarifas

2. La columna cantidad es la E

3. El producto, o más bien todo lo que debe copiar y llevar a otro archivo son las columnas a, b, c,de, e

4. Si, va a ser nuevo.

5. Todas las demás hojas van a ir formateadas iguales para que sea más sencillo. Datos a copiar columnas a,b,c,d,e,

Columna cantidad la E siempre

No estoy entendiendo.

Comentas lo siguiente:

"En resumen, es un excel con datos, si se pone la cantidad de un producto o de varios, al finalizar se le da al botón, este busca los productos y pega las líneas con todos los datos del producto en otro archivo excel"

Lo que entiendo es que vas a poner una cantidad en alguna parte, eso lo deduzco porque dices: "si se pone la cantidad de un producto", entonces yo te pregunto: ¿En dónde vas a escribir esa cantidad?

Luego dices: "busca los productos", y yo te pregunto: ¿Cuál producto va a buscar?


Si no estoy ni cerca de entender lo que necesitas entonces, puedes poner una imagen de las hojas y me explicas con colores y con ejemplos.

Toma datos de esa hoja y ponlos en un nuevo archivo y de ese nuevo archivo me pones una imagen.

Hola

Es un archivo de tarifa de precios con 5 columnas

Datos de código, descripccion, precio, total y cantidad

El comercial va a la tarifa, pone en la columna cantidad un número correspondiente al número de productos que necesita de cada línea, puede ser uno o varios productos.

El botón debe buscar en la columna cantidad (columna E) los cambios de valor >1 para así saber que celdas han sido modificadas.

Luego debe copiar todos los datos del producto cuya columna E ha sido modificada, a un nuevo archivo de excel.

Aquí debería copiar la primera y la ultima línea.

El archivo de excel tarifa tiene varias hojas, por lo que el botón o bien busca en todas las hojas los productos a copiar o hay que poner un botón en cada hoja.

Los datos que copie debe pegarlos en otro archivo de excel.

Puedo crear una plantilla oferta, con ese botón, el comercial abre la tarifa, elije los productos va a la plantilla de ofertas le da al botón y se le cargan los productos, si dicho botón puede llamar a otros archivos de excel abiertos.

H o l a:

Pon la siguiente macro en uno de tus libros, puedes poner el botón en una hoja o en todas las hojas. Si lo pones en una sola hoja y de ahí lo ejecutas te va a generar un nuevo libro con los productos que en la columna Cantidad (E) sean mayor a 0.

Sub CopiarProductos()
'Por.Dante Amor
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Set l1 = ThisWorkbook
    Set l2 = Workbooks.Add
    Set h2 = l2.Sheets(1)
    l1.Activate
    l1.Sheets(1).Rows(1).Copy h2.Range("A1")
    j = 2
    For Each h1 In l1.Sheets
        For i = 2 To h1.Range("E" & Rows.Count).End(xlUp).Row
            If h1.Cells(i, "E") <> "" Then
                h1.Rows(i).Copy
                h2.Cells(j, "A").PasteSpecial xlValues
                j = j + 1
            End If
        Next
    Next
    MsgBox "Proceso terminado"
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas