Macro para separar un listado según el cliente

Tengo Un listado con 10 clientes.

Todos los días exporto un listado, donde tengo que separar manualmente por medio de filtro a cada cliente para luego copiarlos y pegarlos en libros por separado para enviar la información correspondiente.

Necesito una macro para automatizar el procedimiento ya que es largo y tedioso

Gracias

Cliente en la columba A

Y los datos que ocupo copiar están en las columnas B a T

Te adjunto 1 ejemplo del libro que exporto

1 respuesta

Respuesta
2

Me puedes poner la siguiente información:

1. Cómo se van a llamar los nuevos libros, ¿con el nombre del cliente?

2. En qué carpeta se van a guardar los nuevos libro, ¿puede ser en la misma carpeta que el archivo que contiene la información?

3. La nueva hoja que contiene los datos del cliente, lleva encabezados, ¿en qué fila encuentro los encabezados para ponerlos en el nuevo libro?

Los libros se tienen que llamar

 " load tally sheet + (nombre del cliente)

y

"dish tally sheet +(nombre de cliente)"

Los libros nuevos se guardarían en el escritorio

Son dos encabezados diferentes ya que son dos listados a continuación los anexo

Encabezado de carga

encabezado de descarga

En el encabezado de carga la columna del cliente dice LINEID y en el de descarga el cliente esta en la columna de línea

1. Cómo sé cuando poner load... y cuándo dish...

2. ¿En qué file encuentro los encabezados?

3. ¿Cómo qué son 2 listados?

Podrías explicar nuevamente con detalles y con ejemplos lo que necesitas, procura que las imágenes aparezcan los números de filas y las letras de las columnas.

De ante mano gracias por tu tiempo

Todos mis clientes Cargan y Descargan por lo cual yo exporto de mi sistema un listado de Carga y otro de Descarga

Creo necesitaría dos macros 1 de carga y otra de descarga

La Idea es exportar los datos y pegarlos en la hoja con nombre LISTADO en el libro que contenga la macro.

LISTADO DE DESCARGA ES ASI

Donde dice línea vienen los clientes. Columna A

PROCESO:

Separar la información por cliente. Una vez separada se cree un libro nuevo para cada cliente con el nombre "DISH TALLY SHEET + (el nombre del cliente)" y se guarde en el escritorio.

LISTADO DE CARGA ES ASÍ

En el listado de carga los clientes están en la columna C donde dice LineID

Es el mismo proceso separa la información por clientes crear libros nuevos para cada cliebre con el nombre LOAD TALLY SHEET + (nombre de del cliente ) y se guarde en el escritorio.

Espero esto sea los suficientemente especifico, de ante mano GRACIAS por tu tiempo y tu ayuda.

Te anexo la primera macro para descargar información cliente por cliente a un archivo nuevo.

Ejecuta la macro en la hoja que tiene la información. En el escritorio tendrás un archivo por cada cliente.

Sub Descargar()
'Por.Dante Amor
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Set l1 = ThisWorkbook
    Set h1 = ActiveSheet
    Set h2 = Sheets.Add
    ruta = CreateObject("WScript.Shell").SpecialFolders("Desktop") & "\"
    '
    u = h1.Range("A" & Rows.Count).End(xlUp).Row
    h1.Range("A:A").Copy h2.[A1]
    h2.Range("A:A").RemoveDuplicates Columns:=1, Header:=xlYes
    h2.Range("A1").Copy h2.Range("B1")
    For i = 2 To h2.Range("A" & Rows.Count).End(xlUp).Row
        h2.[B2] = h2.Cells(i, "A")
        Set l2 = Workbooks.Add
        Set h3 = l2.ActiveSheet
        h1.Range("A1:T" & u).AdvancedFilter Action:=xlFilterCopy, _
            CriteriaRange:=h2.Range("B1:B2"), CopyToRange:=h3.Range("A1"), Unique:=False
        l2.SaveAs ruta & "DISH TALLY SHEET " & h2.Cells(i, "A")
        l2.Close
    Next
    h2.Delete
    MsgBox "Descarga de clientes terminada", vbInformation
End Sub

Valora esta respuesta y crea otra pregunta para la macro de carga.


Añade tu respuesta

Haz clic para o

Más respuestas relacionadas