Condividi:        

Excel: popolare un elenco in nuovi fogli

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Excel: popolare un elenco in nuovi fogli

Postdi caiunazz » 19/03/15 12:07

salve a tutti
ho un documento di word che genera degli attestati per dei lavoratori che utilizzano delle macchine andando a pescare i dati con stampa unione in una cartella di excel che contiene diversi fogli, ognuno relativo ad una specifica macchina e contenente un elenco dei lavoratori che utilizzano quella determinata macchina

per evitare di dover compilare a mano tutti i fogli vorrei fare quanto segue:
nel primo foglio vorrei avere una matrice con l'elenco completo dei nominativi nella prima colonna, e inserire nella prima riga l'elenco delle macchine; per ognuno dei nominativi andrei a mettere un check in corrispondenza delle sole macchine che utilizza quel lavoratore.

A questo punto servirebbe una macro che in ciascun foglio delle macchine andasse a scrivere un elenco con i nominativi dei soli lavoratori che utilizzano quella macchina, ogni riga un nominativo ma senza righe bianche perchè poi stampa unione va a pescare anche quelle.

E' possibile fare una macro che mi faccia questa operazione?

grazie mille
c.
caiunazz
Utente Junior
 
Post: 13
Iscritto il: 18/10/11 09:01

Sponsor
 

Re: Excel: popolare un elenco in nuovi fogli

Postdi Anthony47 » 22/03/15 21:03

Io farei tutto in Excel.
Fai su un foglio la "lettera tipo", lasciando libere le celle he devono contenere la sigla macchina e il destinatario.
Su altro foglio crei l' elenco dei nominativi (in colonna A), l' elenco delle macchine (intestazione da colonna B verso destra), e gli abbinamenti (1 negli accoppiamenti validi).

Poi pubblica questo file e creeremo una macro che per ogni nominativo stampa tutti i fogli che servono).

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19436
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Excel: popolare un elenco in nuovi fogli

Postdi caiunazz » 22/03/15 21:24

Grazie mille della risposta.
Mi prendi un po alla sprovvista perché in realtà l'elenco dei nominativi divisi per macchine mi servirebbe comunque, da inserire in un verbale relativo al corso di cui poi c'è l'attestato.
E poi negli attestati oltre al nome macchina cambiano anche altre cose (cioè per ogni macchina c'è anche una descrizione sintetica).
Prima di imbarcarmi nel tuo metodo: dici che davvero non si riesca come dico io?
Grazie ancora
Ciao
caiunazz
Utente Junior
 
Post: 13
Iscritto il: 18/10/11 09:01

Re: Excel: popolare un elenco in nuovi fogli

Postdi ricky53 » 22/03/15 23:48

Ciao,
la soluzione di Anthony ti semplifica la vita ...

Per cercare di seguire il tuo modo ci occorre sicuramente il file Excel dove avrai inserito i dati come sono e, in un nuovo foglio, i dati così come li vorresti in modo da farci capire bene cosa ti occorre.

Invia il file ma attenzione ai dati riservati: sostituiscili con dei dati fittizi.
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-19-21
Avatar utente
ricky53
Utente Senior
 
Post: 4588
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Excel: popolare un elenco in nuovi fogli

Postdi caiunazz » 23/03/15 18:01

grazie anche della tua risposta
non è che voglia insistere con la mia, capisco che per chi ne sappia più possa risultare poco comoda per non dire assurda, ma ormai ho impostato tutti gli attestati per le diverse macchine basandomi su questo metodo e non vorrei perdere altre mille mila ore a rifare tutto quanto.
per cui se si riesce con questo metodo ben venga, se poi invece dite che proprio non si può, mi metto l'animo in pace porto tutto in excel, ma se possibile un tentativo lo farei.

allego il foglio di calcolo: solo la prima cartella andrebbe compilata (campi evidenziati),mentre tutte le altre dovrebbero popolarsi come ho messo nell'esempio con i nomi per ciascuna cartella (che corrisponde ad una macchina) dei soli lavoratori che la usamno.

http://dfiles.eu/files/fmg53v2ff

Grazie mille
a presto
caiunazz
Utente Junior
 
Post: 13
Iscritto il: 18/10/11 09:01

Re: Excel: popolare un elenco in nuovi fogli

Postdi ricky53 » 24/03/15 01:14

Ciao,
puoi inviare il tuo file con Questo LINK
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-19-21
Avatar utente
ricky53
Utente Senior
 
Post: 4588
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Excel: popolare un elenco in nuovi fogli

Postdi Anthony47 » 24/03/15 01:33

Perdona....
Premetto che il file di esempio non l' ho saputo scaricare, perche' non mi piace sfidare la sorte a scoprire quale e' il tasto corretto per il download e dopo il secondo tentativo ho desistito.

Tu hai detto
ho un documento di word che genera degli attestati per dei lavoratori che utilizzano delle macchine andando a pescare i dati con stampa unione in una cartella di excel che contiene diversi fogli, ognuno relativo ad una specifica macchina e contenente un elenco dei lavoratori che utilizzano quella determinata macchina
per evitare di dover compilare a mano tutti i fogli vorrei fare quanto segue:
nel primo foglio vorrei avere una matrice con l'elenco completo dei nominativi nella prima colonna, e inserire nella prima riga l'elenco delle macchine; per ognuno dei nominativi andrei a mettere un check in corrispondenza delle sole macchine che utilizza quel lavoratore.


Io ho detto
Io farei tutto in Excel.
Fai su un foglio la "lettera tipo", lasciando libere le celle he devono contenere la sigla macchina e il destinatario.
Su altro foglio crei l' elenco dei nominativi (in colonna A), l' elenco delle macchine (intestazione da colonna B verso destra), e gli abbinamenti (1 negli accoppiamenti validi).

Mi pare che l' unica differenza tra quanto da te richiesto e da me proposto e' abbandonare stampa unione e stampare tutto in Excel; non vedo quale e' la differenza sostanziale tra i due metodi da doverci studiare piu' di 12 minuti...
Evidentemente non ho capito la richiesta iniziale
Se vuoi riallegare il file suggerisco di usare filedropper.com oppure un'altro dei servizi elencati in questo messaggio: viewtopic.php?f=26&t=103893&p=605487#p605487

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19436
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Excel: popolare un elenco in nuovi fogli

Postdi caiunazz » 24/03/15 12:38

ok grazie ancora.
a questo punto mi avete convinto e ho convertito il mio attestato in excel.
stampa unione oltretutto è abbastanza scomoda, anche perchè ogni volta bisogna ripuntare il percorso in cui si trovano gli elenchi, perchè di default li va sempre a cercare nella cartella predefinita dove si trovano i database (C:\Users\xxx\Documents\Origini dati utente) equesta operazione era da compiere per ognuno degli attestati.

allego il file con l'attestato nel primo foglio, l'elenco da compilare nel secondo, e negli altri fogli le macchine. A questo punto gli altri fogli non servono più per gli attestati ma servono solamente per generare gli elenchi dei nominativi che poi dovrò copincollare nei verbali di ogni corso (cui si riferisce ogni attestato).

Ogni attestato a questo punto deve andare a pescare in ciascun foglio (quindi per ogni macchina) i nominativi dei partecipanti lcorso e i dati relativi a quello specifico corso (nome della macchina, descrizione, data, orari, durata).
Ovviamente può darsi il caso che per una ditta solo poche macchine vengano usate e solo da pochi lavoratori, per cui gli attestati devono essere solo quelli corrispondenti ai check del foglio "Elenco".

http://www.filedropper.com/elencorev_1

grazie mille a tutti
caiunazz
Utente Junior
 
Post: 13
Iscritto il: 18/10/11 09:01

Re: Excel: popolare un elenco in nuovi fogli

Postdi Anthony47 » 24/03/15 15:23

Ok...
Allora, fai conto che una macro inserira' in D1 e D2 questi dati:
D1, numero di riga in esame su foglio Elenco; quindi da 2 (per Luigi Rossi) a 7 (per Raffaele Totti)
D2, numero di colonna della Macchia cui si riferisce l' attestato, da 10 (per macc. 1) a 29 (per macc. 20)

Ora, nelle varie celle destinate a contenere i dati dell' attestato inserisci una formula che riporti i dati "giusti" prelevandoli da Elenco. Ad esempio per "titolo, nome e cognome" ho usato
Codice: Seleziona tutto
=SCARTO(Elenco!B1;D1-1;0)&" "&SCARTO(Elenco!C1;D1-1;0)&" "&SCARTO(Elenco!D1;D1-1;0)

e per "nome macchina ho usato
Codice: Seleziona tutto
=INDIRETTO("M."&D2-9&"!B1")


Inserisci in D1 il valore 2 e in D2 il valore 10 e completa le altre formule per gli altri campi; dai per scontato che la macro non inserira' valori per cui non e' da rilasciare l' attestato, quindi non preoccuparti se ti sembra che cosi' si stampano documenti errati.
Mentre tu fai questo io preparero la macro per le stampe, e poi ci ritroviamo.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19436
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Excel: popolare un elenco in nuovi fogli

Postdi caiunazz » 24/03/15 17:02

Grazie per la risposta
Non sono sicuro di aver capito tutto
guarda se intendevi questo
http://www.filedropper.com/elencorev2
grazie
ciao
caiunazz
Utente Junior
 
Post: 13
Iscritto il: 18/10/11 09:01

Re: Excel: popolare un elenco in nuovi fogli

Postdi Anthony47 » 25/03/15 02:00

Si, intendevo come hai fatto.
Pero' devi controllare tu se le formule che hai inserito restituiscono i dati che ti servono.
Le puoi collaudare variando D1 (da 2 in avanti, cambia il nominativo) e D2 (da 10 in avanti, cambia la "macchina"); per verificare l'esito complessivo puoi fare una stampa manuale del foglio "attestato".

Per evitare che alcune parti, es le date o le ore, vengano rappresentate errate dalle formule il suggerimento piu' semplice e' che tutte le informazioni nei fogli M.x siano sotto forma di Testo (o formatti Testo le celle prima di caricarci il contenuto, oppure anteponi un "apostrofo" a quanto vai a digitare nelle celle).
Poi per la stampa degli attestati potrai usare questa macro:
Codice: Seleziona tutto
Sub PrAttestati()
'vedi http://www.pc-facile.com/forum/viewtopic.php?f=26&t=104290
Dim LastD As Long, I As Long, J As Long
'
'scegli printer
SelPrint = Application.Dialogs(xlDialogPrinterSetup).Show
If SelPrint = False Then
    MsgBox "Stampa Cancellata"
    GoTo esci
End If
'
With Sheets("elenco")
    LastD = .Cells(Rows.Count, "D").End(xlUp).Row
    lastc = .Cells(1, Columns.Count).End(xlToLeft).Column
    For I = 2 To LastD
        If .Cells(I, 4).Value <> "" Then
            Sheets("attestato").Range("D1") = I
            For J = 10 To lastc
                If .Cells(I, J).Value <> "" Then
                    Sheets("attestato").Range("D2") = J
                    Sheets("attestato").PrintOut
                    myStTime = Timer
                    Do While Timer < myStTime + 2 Or Timer < myStTime
                    DoEvents: Loop
   
                End If
            Next J
        End If
    Next I
End With
esci:
End Sub

Da excel: Alt-F11 per aprire l' editor delle macro; Menu /Inserisci /Modulo; copia il codice e incollalo nel frame di dx. Poi torni in Excel e lanci la Sub attestati: Alt-F8, scegli "PrAttestati" dall' elenco che ti propone, premi Esegui.
La macro ti chiedera' su quale stampante vuoi stampare prima di procedere.
Fai delle prove con pochi nominativi e pochi attestati per ognuno.

Il file sara' da salvare come ".xlsm"

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19436
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Excel: popolare un elenco in nuovi fogli

Postdi caiunazz » 25/03/15 14:38

ottimo!
la tua macro funziona perfettamente!

a questo punto mi rimane solo la questione degli elenchi, ovvero avrei bisogno di avere, per ciascuna macchina, l'elenco dei lavoratori che la usano, perchè poi lo dovrò inserire nei vari verbali relativi a ciascuna macchina (era uno dei due motivi per cui volevo "popolare" i vari fogli delle singole macchine: attestati e verbali)

come si può procedere?
allego l'ultima versione del file
http://www.filedropper.com/elencorev3

intanto grazie mille!
caiunazz
Utente Junior
 
Post: 13
Iscritto il: 18/10/11 09:01


Torna a Applicazioni Office Windows


Topic correlati a "Excel: popolare un elenco in nuovi fogli":


Chi c’è in linea

Visitano il forum: Nessuno e 13 ospiti