¿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