¿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.

2 Respuestas

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

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