Per quanto riguarda il creare un foglio (che nel tuo caso diventerebbe un
report) per ogni record (una riga del foglio in cui sono memorizzati i dati)
ci sarebbero molti sistemi (a livello di macro e non).
Te ne suggerisco solo alcuni poi vedi tu:
a) stampa unione in word (nella barra degli strumenti della stampa unione
puoi poi unire tutti i dati o su stampante o su file);
b) tabella pivot in excel. Rispetto alla stampa unione il lay out può
lasciare un po' a desiderare, tuttavia anche la tabella pivot ha
un'interessante funzione che ti consente di ottenere con un click (il comando
si chiama mostra pagine) il risultato desiderato. Il comando va applicato al
campo pagina sul quale potresti mettere ad esempio il cognome. In questo modo
ciascun foglio, quando lanci il comando mostra pagine, assume il nome del
campo pagina. Se i record sono 50 verranno creati 50 foglio;
c) via codice ma considerato che non conosco il tuo livello penso di
approfondire la questione solo se hai voglia o solo se le soluzioni proposte
non ti garbano.
Per quanto riguarda la stampa in pdf prova a cercare un programma che si
ghiama pdf995. E' gratis e funziona benone. Ti crea una stampante virtuale da
utilizzare come una normale stampante solo che il risultato è un file pdf.
Facci sapere.
"giampy" ha scritto:
Ti ho risposto un'oretta fa ma siccome non ritrovo la risposta la riscrivo.
Ai svariate soluzioni, quelle più rapide e immediate sono:
1) in excel tabella pivot e sfoglia campo pagina impostando come campo
pagina il cognome. In questo modo avrai per ogni record un foglio denominato
con il valore del campo pagina utilizzato nella tabella pivot (limite: layout
che potrebbe essere un po troppo rigido per le tue esigenze e numero massimo
di cartelle: se il tuo database è eccessivamete ampio la cartella non
riuscirà a contenere tutti i fogli necessari. Non so qual'è il limite ma so
che esiste);
2) in word con stampa unione. Superi sia il limite del layout che quelo del
numero di fogli allegabili ad una cartella. La stampa unione ti consente poi
di unire i dati (foglio excel come origine dati ... in tal caso leggi le
istruzioni nella guida in linea se ai dei problemi e foglio word come
destinazione dati) direttamente sulla stamapante o su un nuovo file privo di
collegamenti che puoi distribuire, stampare, inviare (è possibile anche
impostare dei filtri prima di inviare il lavoro alla stampante o al file);
3) via codice VBA ma solo se hai un po di tempo e di voglia.
Per quanto riguarda la stampa in pdf prova a cercare e scaricare il
progaramma PDF995. E' un programma che fa proprio al caso tuo ed è gratis.
Facci sapere.
"giampy" ha scritto:
> Ciao a tutti,
"gioemidi" ha scritto:
"gioemidi" ha scritto:
Sub giampy
dim i as integer
for i=1 to foglio1.range("a1:d200").rows.count 'foglio1 è il foglio in cui
hai i dati e range("1:d200") è l'intervallo in cui sono organizzati i tuoi
dati
Sheets.Add
activesheet.Name = "rossi"
activesheet.range("a1").formula=foglio1.range("a1")
activesheet.range("a2").formula=foglio1.range("a2")
etc.
End sub
Fammi sapere se ti funziona e se riesci a personalizzarlo.
Ovviamente ci sono tanti altri metodi per arrivare al tuo scopo e
porbabilmente quello che ti ho suggerito non è il migliore in assoluto ma
l'appetito vien mangiando.
Ciao.
"giampy" ha scritto:
"gioemidi" ha scritto: