Condividi:        

Excel: attaccare consecutivamente dati divisi in più 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: attaccare consecutivamente dati divisi in più fogli

Postdi fantina » 21/02/11 21:47

Qualche "amico" mi ha diviso un file con un calendario ordinato in col.A in data crescente per mesi, e mi ha creato 12 fogli, da Gennaio a Dicembre di struttura identica: come faccio a ricomporre il file originale (tutto l'anno) senza fare copiaincolla? Se serve: ogni riga di dati di ogni giorno del calendario arriva fino alla colonna AX.

Ho provato a cercare qualcosa sul forum ma non l'ho trovato, poi non volevo farvi sentire troppo la mia mancanza :D
fantina
Utente Senior
 
Post: 491
Iscritto il: 05/03/07 15:24

Sponsor
 

Re: Excel: attaccare consecutivamente dati divisi in più fog

Postdi Anthony47 » 22/02/11 00:00

Grazie per la assidua presenza…
A parte che giudico anche io sciagurata l' idea di dividere le informazioni su 12 fogli, ora sei sicura che devi necessariamente mettere tutto su un unico foglio? Non e' possibile che l' uso dell' indirizzamento 3D ti possa aiutare nelle elaborazioni che devi fare? (vedi l' help on line di excel alla voce "stile di riferimento 3d").

Intanto per imbastire la soluzione richiesta, registra una macro mentre:
-duplichi il foglio Gennaio: Menu /Modifica /Sposta o copia foglio, seleziona "(sposta alla fine)" e spunta Crea una copia; ok
-rinomini il foglio corrente come Riepilogo
-copi i dati del foglio Febbraio, li incolli in coda al foglio Riepilogo.
-ferma la registrazione della macro
Poi pubblica il codice ottenuto e faremo le modifiche per far il lavoro automaticamente su tutti i fogli.

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

Re: Excel: attaccare consecutivamente dati divisi in più fog

Postdi fantina » 22/02/11 21:10

Ecco....

Codice: Seleziona tutto
Sub Macro6()
'
' Macro6 Macro
' Macro recorded 22/02/2011 by Piera
'

'
    Sheets("Jan 2011").Copy After:=Sheets(12)
    Sheets("Jan 2011 (2)").Select
    Sheets("Jan 2011 (2)").Name = "Riepilogo"
    ActiveWindow.ScrollWorkbookTabs Position:=xlFirst
    Sheets("Feb 2011").Select
    ActiveWindow.ScrollRow = 28
    ActiveWindow.ScrollRow = 27
    ActiveWindow.ScrollRow = 26
    ActiveWindow.ScrollRow = 25
    ActiveWindow.ScrollRow = 24
    ActiveWindow.ScrollRow = 23
    ActiveWindow.ScrollRow = 21
    ActiveWindow.ScrollRow = 20
    ActiveWindow.ScrollRow = 19
    ActiveWindow.ScrollRow = 18
    ActiveWindow.ScrollRow = 17
    ActiveWindow.ScrollRow = 16
    ActiveWindow.ScrollRow = 15
    ActiveWindow.ScrollRow = 14
    ActiveWindow.ScrollRow = 13
    ActiveWindow.ScrollRow = 12
    ActiveWindow.ScrollRow = 11
    ActiveWindow.ScrollRow = 10
    ActiveWindow.ScrollRow = 9
    ActiveWindow.ScrollRow = 8
    ActiveWindow.ScrollRow = 7
    ActiveWindow.ScrollRow = 6
    ActiveWindow.ScrollRow = 5
    ActiveWindow.ScrollRow = 4
    ActiveWindow.ScrollRow = 3
    Rows("1:62").Select
    Selection.Copy
    ActiveWindow.ScrollWorkbookTabs Position:=xlLast
    Sheets("Riepilogo").Select
    ActiveWindow.ScrollRow = 4
    ActiveWindow.ScrollRow = 5
    ActiveWindow.ScrollRow = 6
    ActiveWindow.ScrollRow = 7
    ActiveWindow.ScrollRow = 8
    ActiveWindow.ScrollRow = 9
    ActiveWindow.ScrollRow = 10
    ActiveWindow.ScrollRow = 11
    ActiveWindow.ScrollRow = 12
    ActiveWindow.ScrollRow = 13
    ActiveWindow.ScrollRow = 14
    ActiveWindow.ScrollRow = 15
    ActiveWindow.ScrollRow = 16
    ActiveWindow.ScrollRow = 17
    ActiveWindow.ScrollRow = 18
    ActiveWindow.ScrollRow = 19
    ActiveWindow.ScrollRow = 20
    ActiveWindow.ScrollRow = 21
    ActiveWindow.ScrollRow = 22
    ActiveWindow.ScrollRow = 23
    ActiveWindow.ScrollRow = 24
    ActiveWindow.ScrollRow = 25
    ActiveWindow.ScrollRow = 26
    ActiveWindow.ScrollRow = 27
    ActiveWindow.ScrollRow = 28
    ActiveWindow.ScrollRow = 29
    Range("A66").Select
    ActiveSheet.Paste
End Sub

Quanti scroll...
Ti ringrazio per l'idea del 3D ma mi pare sia più attinente a necessità di calcolo: i miei sono dati da visualizzare, filtrare, assemblare insomma è di consultazione.....

Graaaaaaaazieeeee......
fantina
Utente Senior
 
Post: 491
Iscritto il: 05/03/07 15:24

Re: Excel: attaccare consecutivamente dati divisi in più fog

Postdi Anthony47 » 22/02/11 22:10

Ok, allora modifica come segue:
Codice: Seleziona tutto
Sub fant()
Sheets("Jan 2011").Copy After:=Sheets(12)
ActiveSheet.Name = "Riepilogo"
For I = 2 To 11
    Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Select  '<< Vedi Testo
    Sheets(I).UsedRange.Copy Destination:=ActiveCell
Next I
End Sub

Nota ***: Ho immaginato che si possa usare la col A per individuare dove finiscono i dati di ogni foglio; se col A non e' idonea (nel senso che non e' garantito che l' ultima riga usata abbia anche col A usata) possiamo usare a questo scopo un' altra colonna? Se NO allora lavoreremo con un' altra logica.

Ciao, fai sapere.

PS: se pensi che sia leggermente sadico allora hai un po' ragione.
Avatar utente
Anthony47
Moderatore
 
Post: 19222
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Excel: attaccare consecutivamente dati divisi in più fog

Postdi fantina » 22/02/11 22:46

Grazie Anthony, dopo essersi incriccato dieci volte (protestava sulla rinomina del foglio) ha funzionato!
Ora spiegami a cosa è servita la mia registrazione! ..... sei sadico sì..... sì che sei sadico.... che sadico sei........
:)
fantina
Utente Senior
 
Post: 491
Iscritto il: 05/03/07 15:24

Re: Excel: attaccare consecutivamente dati divisi in più fog

Postdi Anthony47 » 22/02/11 22:57

Protestava forse perche' avevi gia' un foglio Riepilogo?
La macro ha il vincolo che il foglio Jan 2011 sia il primo e che i fogli a seguire siano in ordine crescente (Feb, Mar, Apr, etc), altrimenti il riepilogo sara' in ordine sparso.
Se e' un vincolo forte dimmelo, che ti faccio registrare un' altra macro... :D

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

Re: Excel: attaccare consecutivamente dati divisi in più fog

Postdi fantina » 23/02/11 09:35

Non riuscirei mai a spiegarti bene cosa è successo ma invece di fare quel comando lì mi faceva il duplicato del foglio (mi sono trovata con svariati gennaio(1), gennaio (2), se lo rinominavo Riepilogo mi diceva che non posso rinominare un foglio uguale a un altro, anche se in realtà con quel nome ne avevo solo uno ... l'ho rinominato "year" ed è partito tutto. Però mi ha creato lo stesso gennaio1 e gennaio2..... Però me l'ha fatto, quindi non mi fare registrare altro, anche perchè se sbaglio a te poi tocca aggiustare, che è peggio..... :lol:
fantina
Utente Senior
 
Post: 491
Iscritto il: 05/03/07 15:24

Re: Excel: attaccare consecutivamente dati divisi in più fog

Postdi Anthony47 » 23/02/11 14:38

Se funziona ancora a corrente alternata allora rimetti questa PRIMA di ActiveSheet.Name = "Riepilogo":
Codice: Seleziona tutto
Sheets("Jan 2011 (2)").Select

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

Re: Excel: attaccare consecutivamente dati divisi in più fog

Postdi fantina » 24/02/11 16:45

Allora Anthony, siccome quel file ora è finito e non lo tocco più, ho tentato di fare la stessa cosa con un altro file dove sono contenuti 14 fogli e mi è venuto tutto perfetto in un attimo! Grazie e naturalmente... alla prossima

:diavolo:

:)
fantina
Utente Senior
 
Post: 491
Iscritto il: 05/03/07 15:24


Torna a Applicazioni Office Windows


Topic correlati a "Excel: attaccare consecutivamente dati divisi in più fogli":


Chi c’è in linea

Visitano il forum: papiriof, raimea e 65 ospiti