Hola:
Cada vez me lo ponen más dificil: un cliente quiere la factura que le enviamos de todas sus líneas de teléfono en un fichero individual por línea. En total tengo unas 400 líneas por lo que tengo que resumir en una tabla dinámica los datos y copiar y pegar en 400 ficheros nuevos, convertirlos en PDF y enviárselos por mail. ¿se os ocurre alguna forma de automatizar este proceso? He intentando crear en Access un informe con los datos resumidos por línea pero luego no soy capaz de separarlo en distintos ficheros. Os adjunto el fichero de ejemplo. Tengo que enviar tanto el resumencomo el detalle por línea.
Por favor, ECHADME UNA MANO¡¡¡ Mil gracias. He intentando subir un fichero de ejemplo pero me ha sido imposible (hoy las herramientas informáticas están en mi contra)
¿y quieren un pdf para cada línea? ¿400 archivos cada vez? no voy a opinar.
Creo que lo mejor será crear una macro que recorra todos los valores del campo página de tu tabla dinámica, en tu caso entiendo que tendrás el número de línea como campo de página o de filtro de informe de esa tabla dinámica que utilizas como resumen.
podría ser algo así:
(tomado de http://www.necesitomas.com/macros-personales#comment-515 para recorrer los campos de la tabla dinámica
y de http://www.necesitomas.com/macro-convertir-excel-pdf#comment-4783 para guardar directamente como pdf)
como tendrás 400 archivos, identifícalos con el número de línea y la fecha, para luego saber qué es cada cosa.
Sub RecorrerTodasLasPáginas()
' recorre todas las páginas de la tabla dinámica (suponemos sólo una en la hoja)
' Dentro de la hoja activa
Dim Campo As PivotField
Dim ValorPágina As PivotItem
Dim RutaArchivo As String
With ActiveSheet.PivotTables(1) 'suponemos que sólo hay una tabla en la hoja activa
For Each Campo In .PageFields
For Each ValorPágina In Campo.PivotItems
Campo.CurrentPage = ValorPágina.Value
' y ahora guardamos como pdf
RutaArchivo="c:\elige una ruta par tu archivo.pdf" 'como tendrás 400, puedes identificar cada archivo con el nº de linea y la fecha de la factura o algo así
' puedes utilizar Campo.CurrentPage como parte del nombre
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= RutaArchivo , _
Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas :=False, _
OpenAfterPublish:=False
Next
Next
End With
End Sub
------
Ya sé Excel, pero necesito más.
Hola Paco: Muchas gracias por responderme tan pronto. Eres un máquina¡
Con mis conocimientos de excel me voy a tener que apuntar a una página que se llame "ya se excel pero no tengo ni idea de macros.com". Te propongo=suplico que nos des unas nociones básicas de macros a los ignorantes en esta materia como yo, please¡
Con el primer enlace que me propones (Mostrar páginas de filtro de informes...) he conseguido separar en hojas distintas cada línea de teléfono. ¿que pasa si en vez de 1 tabla dinámica tienes 2? En el envío que tengo que hacer tengo que incluir una cabecera con el nombre de la empresa, el logo y la fecha de facturación, además de un resumen de cada línea (tantas llamadas a nacional, tantas a metropolitanas, tantas a móvil....) y un resumen por línea del tipo: x llamadas a tal número, con tal duración cada una, con x € cada llamadas,...
Ahora me faltaría además separar cada hoja en un archivo distinto.
Estoy por tirar la toalla y trabajar yo para el excel en vez de el excel para mí... Esto me supera...
gracias
Alicia
Ejem, ejem...
No me quiero meter, pero lo que estás pidiendo está aquí:
http://www.necesitomas.com/prod/YaSeExcel_pdf
Saludos