Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

[Excel] Classifiche separate su 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] Classifiche separate su più fogli.

Postdi Robybike » 02/08/06 13:13

Salve a tutti:
Ho creato un foglio per gli arrivi di una gara ciclistica con conteggio dei tempi, su un'altro foglio compare la classifica assoluta di tutti gli atletti, vorrei sapere se è possibile separare le classifiche in più fogli con categorie diverse.

ES: sul foglio2 la classifica "assoluti", sul foglio3 quella esordienti, sul foglio4 allievi.... etc.

Grazie
Robybike
Utente Junior
 
Post: 19
Iscritto il: 02/08/06 12:13

Sponsor
 

Postdi Anthony47 » 03/08/06 00:15

Ciao Roby,
allora per farla semplice possiamo fare cosi’:
-assumiamo che la tua classifica Assoluta sul Foglio2 cominci dalla riga 2 (la riga 1 contiene intestazioni)
-su un foglio del tuo file ti compili un elenco in verticale delle possibili categorie di atleti, e a questo range dai il nome “Lista”
-il foglio con la classifica Assoluta lo rinomini “Riepilogo”
-ti crei tanti fogli (all’ interno del tuo file) e a ognuno assegni il nome di una categoria; devono esserci tutti i nomi presenti in Lista. NB: la Lista di prima non deve andare in uno di questi fogli.
-Sulla riga 1 dei fogli di categoria metti le seguenti intestazioni:
-col. A: Classifica (la useremo per la classifica di categoria)
-Col B-XX: come da foglio Riepilogo

Apri il Vba (Alt-F11), e sul Modulo1 incolli la seguente macro:
Codice: Seleziona tutto
Sub Classifiche()
Application.ScreenUpdating = False

Colonne = "A1:F1"   'Colonne da copiare,  PERSONALIZZARE
ColCat = "F1"       'Colonna di Categoria, PERSONALIZZARE

'Cancella eventuale classifica presente
For Each c In Range("Lista")
Folio = c.Value
Sheets(Folio).Select
    Rows("2:1000").Select
    Selection.Delete Shift:=xlUp
    Range("A1").Select
Next c

Sheets("Riepilogo").Select
PriCol = Left(Colonne, 1) & 65536
URiga = Range(PriCol).End(xlUp).Row

'Copia dal foglio Riepilogo e incolla sul foglio di categoria
For i = 1 To URiga - 1
Sheets("Riepilogo").Select
Categoria = Range("A1").Offset(i, 0).Range(ColCat).Value
Range("A1").Offset(i, 0).Range(Colonne).Copy
Sheets(Categoria).Select
Range("B65536").End(xlUp).Offset(1, -1).Select
ActiveCell.FormulaR1C1 = "=ROW()-1"
Selection.Offset(0, 1).Select


ActiveSheet.Paste

Next

Application.CutCopyMode = False
Application.ScreenUpdating = True
Sheets("Riepilogo").Select
End Sub


Quando lanciata, la macro fa le seguenti cose:
-cancella sui fogli di categoria l’ eventuale classifica gia’ presente (elimina le righe 2-1000; sono sicuro che bastano)
-scorre tutte le righe di Riepilogo, cominciando dalla riga 2, e incolla i dati sull’ appropriato foglio di Categoria

La colonna che su Riepilogo indica la categoria di appartenenza va specificata modificando l’ istruzione ColCat = "F1" (per il collaudo io ho usato la colonna F); le colonne che vanno copiate da Riepilogo e incollate sui fogli di Categoria possono essere definite cambiando l’ istruzione Colonne = "A1:F1" , con l’ avvertenza che le colonne devono essere contigue e la prima deve essere inferiore o uguale a Z1.

Puo' bastare cosi'?
Ciao,
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13891
Iscritto il: 21/03/06 16:03
Località: Ivrea

Postdi Robybike » 03/08/06 15:20

Grazie Anthony per la tempestiva risposta, ma scusa la mia scarsa dimestichezza con le macro, ho seguito il tuo consiglio e quando vado a lanciare la macro mi da errore sulla linea selezionata in basso, dove sbaglio???

Cancella eventuale classifica presente
For Each c In Range("Lista")
Folio = c.Value
Sheets(Folio).Select
Rows("2:1000").Select
Selection.Delete Shift:=xlUp
Range("A1").Select
Next c
Robybike
Utente Junior
 
Post: 19
Iscritto il: 02/08/06 12:13

Postdi Alexsandra » 03/08/06 16:14

Robybike ha scritto:....Sheets(Folio).Select

E' un errore di battitura di Antony.
Sostituisci (Folio) con il nome del tuo foglio vedrai che così và

Buone ferie a tutti Belli e Brutti,Vicini e Lontani, vi lascio nelle mani (fà anche rima) di Antony & compagnia briscola :lol: :lol: 8) 8) 8)

PS. Mi raccomando i titoli senò quando torno .....vi sego una gambina
:lol: :lol: :lol:
Avatar utente
Alexsandra
Utente Senior
 
Post: 2358
Iscritto il: 09/01/06 20:31

Postdi Anthony47 » 03/08/06 19:07

No, non e’ un errore di battitura; Folio e’ un variabile che viene usata per contenere i nomi dei fogli presi dall’ elenco “Lista”.
La soluzione che ti ho proposto prevede infatti che ogni categoria sia elencata nel range Lista e che per ogni nome in Lista ci sia un foglio presente nel tuo file.

Allora, se va in errore su Sheets(Folio).Select dovrebbe significare che manca un Foglio che viceversa e’ elencato in “Lista”; quindi verifica subito se per ogni Categoria inserita nel range Lista hai creato un foglio con esattamente quel nome, come da istruzioni di ieri sera.
Se non ti si accende subito una lampadina, allora quando va in errore e attivi il debug, leggi il contenuto della variabile Folio (porta il cursore sopra la scritta Folio, senza ciccare, e dopo un attimo ti compare il contenuto attuale di Folio) e verifica allora se quel Foglio esiste o se c' e' un errore di battitura da qualche parte.

Facci sapere….
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13891
Iscritto il: 21/03/06 16:03
Località: Ivrea

Postdi Anthony47 » 03/08/06 19:15

Alexsandra ha scritto:Buone ferie a tutti Belli e Brutti,Vicini e Lontani....

Che pacchia, 5 settimane senza moderatrice!! Finalmente possiamo sfogarci...

PS. Mi raccomando i titoli senò quando torno .....vi sego una gambina


Ohi ohi.
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13891
Iscritto il: 21/03/06 16:03
Località: Ivrea

Postdi Robybike » 03/08/06 20:52

:)
Perfetto funziona benissimo, il mio errore stava proprio nel rinominare i fogli.
Robybike
Utente Junior
 
Post: 19
Iscritto il: 02/08/06 12:13

Postdi Robybike » 04/08/06 14:52

Vorrei inserire un file excel di un programma che stò creando così posso esporvi bene il mio problema, come posso fare per inserire il file?
Robybike
Utente Junior
 
Post: 19
Iscritto il: 02/08/06 12:13


Torna a Applicazioni Office Windows


Topic correlati a "[Excel] Classifiche separate su più fogli.":


Chi c’è in linea

Visitano il forum: Nessuno e 4 ospiti