¿Cómo crear estados de cuenta individuales para cada cliente a partir de una base de datos?

Estoy intentando hacer una macro que me ayude a crear estados de cuenta individuales para cada cliente. Tengo una base de datos general y si tengo, por ejemplo, 50 clientes necesito crear 50 hojas nuevas en el libro de excel con la información exclusiva de cada cliente.

Respuesta

Feliz navidad

Te puedo sugerir crea una hoja de informe donde elijas el cliente a evaluar así no tendrías un libra tan extensor xon todas esas hojas solo quiere ver el estado POR de fulado una macro que busque eso datos y lo copie

1 respuesta más de otro experto

Respuesta
1

¿Macro o código VBA?

Si es una macro no sabria ni como empezar.

Si es por código yo lo enfocaría así:

- Crear un nuevo libro de Excel por automatización

Dim xlsApp As Object ' para hacerlo fácil sin referencias

Set xlsApp = CreateObject("Excel.Application")

XlsApp. Workbooks. Add

- Recorrer tabla de clientes mediante un recordset y un bucle Do Loop)

- En cada registro buscar información del cliente (por si no existiera pasar al siguiente)

- Al existir información crear una hoja en el libro de excel:

xlsApp.ActiveWorkbook.Sheets.Add After:=xlsApp.Worksheets(xlsApp.Worksheets.Count)

- Posicionarse en esa hoja 

xlsApp.ActiveWorkbook.Sheets(xlsApp.Worksheets.Count).Select

- Recuperar la información del cliente y colocarla en la hoja. Imaginemos unas cuantas cosas:

+ Que la información es una lista de facturas (y la tenemos en un recordset rstFacturas)

+ Que la fila 1 contiene unos títtulos (por tanto la información empieza en fila 2)

+ Que la consulta que recupera la información tiene solo las columnas que deseamos exportar

+ Que las declaraciones de variables ya estan realizadas

Do Until rstfacturas.EOF

  For Each fld In rstFacturas.Fields

    xlsApp.Cells(2 + rstFacturas.AbsolutePosition, fld.OrdinalPosition) = rstFacturas.Fields(fld.Name)

  Next

  rstFacturas.MoveNext

Loop

- Una vez finalizados los clientes se procede a salvar el Excel y cerrar:

XlsApp. Activeworkbook. SaveAs strRutaCompleta

XlsApp. Activeworkbook. Close

XlsApp. Quit

Set xlsApp = Nothing

Y creo que eso es todo. Analiza cada uno de los pasos y adaptalo a tus necesidades/datos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas