Condividi:        

filtrare squadre per nazione

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

filtrare squadre per nazione

Postdi raimea » 31/03/10 22:52

buona sera, sono qui ancora in cerca di aiuto... :-?

ho un foglio excell (5-squadre) in cui ha 2 squadre per riga e la relativa nazionalita'.

avrei bisogno di una macro che mi crei una colonna per ogni nazione, in cui ci sono le relative squadre
in ordine alfabetico , e senza ripetizioni della stessa squadra.

in colonna f ed h ci sono i nomi delle squadre,
in colonna k (della stessa riga) c'e la relativa nazione.

io vorrei il risultato sullo stesso foglio partendo dalla colonna AH riga 9

ringrazio
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1410
Iscritto il: 11/02/10 07:33
Località: lago

Sponsor
 

Re: filtrare squadre per nazione

Postdi Flash30005 » 01/04/10 10:47

No File!
No Macro! :lol:

Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: filtrare squadre per nazione

Postdi ricky53 » 01/04/10 15:41

Ciao,

Occorrerebbe vedere la strutura dei uoi dati ma, in base a quanto da te scritto, mi sembra sia possibile utilizzare una PIVOT.

PROVA.

Ciao da Ricky53
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-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: filtrare squadre per nazione

Postdi Flash30005 » 01/04/10 17:12

La macro prende i dati dal foglio "5-Squadre"
e li inserisce nel "Foglio1"
poi ordina per Nazione e Squadre l'elenco nel Foglio1
Codice: Seleziona tutto
Sub CreaElencoNaz()
    Sheets("Foglio1").Columns("A:B").Clear
UR5 = Worksheets("5-Squadre").Cells(Rows.Count, 6).End(xlUp).Row
   Sheets("Foglio1").Range("A1").FormulaR1C1 = "Nazione"
    Sheets("Foglio1").Range("B1").FormulaR1C1 = "Squadra"
    For RR1 = 9 To UR5
    For CC = 6 To 8 Step 2
    If Sheets("5-Squadre").Cells(RR1, CC).Value = "" Then GoTo salta
    Sheets("Foglio1").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0) = Sheets("5-Squadre").Cells(RR1, 11).Value
    Sheets("Foglio1").Cells(Rows.Count, 2).End(xlUp).Offset(1, 0).Value = Sheets("5-Squadre").Cells(RR1, CC).Value
salta:
Next CC
Next RR1
Sheets("Foglio1").Select
    Columns("A:B").Select
    Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Key2:=Range("B2") _
        , Order2:=xlAscending, Header:=xlYes, OrderCustom:=1, MatchCase:=False _
        , Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2:= _
        xlSortNormal
End Sub


Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: filtrare squadre per nazione

Postdi raimea » 02/04/10 06:11

:)
ringrazio ancora il sig flash30005
mi ha BRILLANTEMENTe risolto la questione con una perfetta macro che ora vi riporto sotto.
chi volesse il file mi contatti.

colgo l'occasione per augurare a tutti Bunoe Feste

raimea

Codice: Seleziona tutto
Sub CompilaElenco()
    Worksheets("6-Squadre.Alfabeto").Unprotect
    UR5 = Worksheets("5-Squadre").Cells(Rows.Count, 6).End(xlUp).Row
    UR6 = Worksheets("6-Squadre.Alfabeto").Cells(Rows.Count, 3).End(xlUp).Row
    For R5 = 9 To UR5
        For C5 = 6 To 8 Step 2
            SQ5 = UCase(Worksheets("5-Squadre").Cells(R5, C5).Value)
            For R6 = 8 To UR6
                SQ6 = UCase(Worksheets("6-Squadre.Alfabeto").Cells(R6, 3).Value)
                If SQ5 = SQ6 Then GoTo salta
            Next R6
            Uri = Worksheets("6-Squadre.Alfabeto").Cells(Rows.Count, 3).End(xlUp).Row + 1
            Worksheets("6-Squadre.Alfabeto").Cells(Uri, 3).Value = SQ5
salta:
        Next C5
    Next R5
    'Call Ordina
    Worksheets("6-Squadre.Alfabeto").Protect
End Sub
Sub Ordina()
Worksheets("6-Squadre.Alfabeto").Select
    Columns("C:C").Select
    Selection.Sort Key1:=Range("C2"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
    Range("B1").Select
End Sub

Sub CreaElencoNaz()
Worksheets("7-squadr.naz").Unprotect
Application.ScreenUpdating = False
    Sheets("7-squadr.naz").Columns("A:B").Clear
UR5 = Worksheets("5-Squadre").Cells(Rows.Count, 6).End(xlUp).Row
   Sheets("7-squadr.naz").Range("A1").FormulaR1C1 = "Nazione"
   Sheets("7-squadr.naz").Range("B1").FormulaR1C1 = "Squadra"
    For RR1 = 9 To UR5
        For CC = 6 To 8 Step 2
            If Sheets("5-Squadre").Cells(RR1, CC).Value = "" Then GoTo salta
            Sheets("7-squadr.naz").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0) = Sheets("5-Squadre").Cells(RR1, 11).Value
            Sheets("7-squadr.naz").Cells(Rows.Count, 2).End(xlUp).Offset(1, 0).Value = Sheets("5-Squadre").Cells(RR1, CC).Value
salta:
        Next CC
    Next RR1
Sheets("7-squadr.naz").Select
Columns("A:B").Select
    Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Key2:=Range("B2") _
        , Order2:=xlAscending, Header:=xlYes, OrderCustom:=1, MatchCase:=False _
        , Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2:= _
        xlSortNormal
UR1 = Cells(Rows.Count, 1).End(xlUp).Row
For RR1 = 2 To UR1 - 1
    Sq1 = UCase(Range("A" & RR1).Text) & UCase(Range("B" & RR1).Text)
    If Sq1 = "" Then GoTo esci
    For RR2 = UR1 To RR1 + 1 Step -1
        Sq2 = UCase(Range("A" & RR2).Text) & UCase(Range("B" & RR2).Text)
        If Sq2 = "" Then GoTo SaltaR2
        If Sq1 = Sq2 Then
            Rows(RR2 & ":" & RR2).Delete Shift:=xlUp
        End If
SaltaR2:
    Next RR2
Next RR1
esci:
Range("A1").Select
Application.ScreenUpdating = True
Worksheets("7-squadr.naz").Protect
End Sub
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1410
Iscritto il: 11/02/10 07:33
Località: lago

Re: filtrare squadre per nazione

Postdi Flash30005 » 02/04/10 21:39

Per Raimea e per tutti gli altri utenti

le macro vanno postate con il Tag "Code" dell'editor
e non Img o altri Tag

Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

filtrare squadre per nazione

Postdi raimea » 03/03/11 15:43

ciao a tutti
avrei piu o meno la stessa richiesta fattavi in aprile '10
ma ora mi cambia solo il - dove - mettere il risultato.
mi spiego:
ho una lista di squadre ( col C ) con relativa nazione ( col D)
vorrei poter filtrare, da tale lista, le squadre per -nazione - scrivendo partendo da AC6
cioe' se in AC5 ho scritto inghilt. mi creera la lista delle squadre inglesi se in AD6 ho italy mi crei l'elenco
delle squadre italiane
da sapere che i nomi in AC6 AD6 ecc.. non sono fissi potrebbero variare
(variano in base alla classifica in Col X col Y)
io ci sono riuscito con le formule non con le macro
la differenz con le formule e' che i nomi non sono in ordine da riga 6 in giu'.
vi allego il file
http://www.sendspace.com/file/1pio3g
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1410
Iscritto il: 11/02/10 07:33
Località: lago

Re: filtrare squadre per nazione

Postdi raimea » 05/03/11 07:04

azz :-?
dite che e' un po troppo complicato quanto descritto sopra ?
mi basterebbe lo spunto per realizzare la prima colonna AC
poi penso di riuscire a realizzare le altre 35. :)
comunque grazie.
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1410
Iscritto il: 11/02/10 07:33
Località: lago

Re: filtrare squadre per nazione

Postdi Anthony47 » 05/03/11 20:34

Se le squadre in col C sono in ordine alfabetico, con questa formula in AC6 avrai anche i risultati in ordine alfabetico:
Codice: Seleziona tutto
=SE(RIF.RIGA($A1)<=CONTA.SE($D$1:$D$1000;AC$5);INDICE($C$1:$C$1000;PICCOLO(SE($D$1:$D$1000=AC$5;RIF.RIGA($D$1:$D$1000);"");RIF.RIGA($A1)));"-")
da confermare con Contr-Maiusc-Enter
Copia AC6 verso destra, e poi la prima riga di formule giu' fino a riga 100 (o 200, se vuoi stare piu' tranquillo)
L' ultimo "-" serve per avere la conferma visiva che l' elenco di quella nazione e' finito; eventualmente sostituisci con "".

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

Re: filtrare squadre per nazione

Postdi raimea » 06/03/11 08:14

ottimo, funziona tutto :)
grazie.
e' la formula che non conoscevo e mai ci sarei arrivato....
si' - le squadre in col c sono gia in ordine alfabetico.
allego il file nel caso serva a qualcuno.

http://www.sendspace.com/file/57zodk

una informazione: :idea:
le squadre caricate in col. C sono circa 500
la macro - crealenco- e' diventata particolarmente lenta, da quando ho
inserito la formula che aggiorna circa 36 nazioni.
sono legate le 2 cosa ?
(500 squadre + 37 nazioni da sistemare )
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1410
Iscritto il: 11/02/10 07:33
Località: lago

Re: filtrare squadre per nazione

Postdi PcBase » 06/03/11 09:10

Ciao Raimea

Purtroppo sono le formule Matrice nelle colonna AC-BN, che rallentano il lavoro puoi inserire solo il valore?
Casomai se serve si puo creare macro!
Windows xp + Office 2003 Ita
Windows8 Office 2013
PcBase
Utente Senior
 
Post: 143
Iscritto il: 24/02/11 23:26

Re: filtrare squadre per nazione

Postdi raimea » 06/03/11 09:13

si', si puo inserire solo i nomi,
unica cosa che chiedevo era che l'enco inizi da riga 6
per ogni nazione ,come ho descritto sopra.
grazie, ciao

comunque meglio lenta che niente... :roll:
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1410
Iscritto il: 11/02/10 07:33
Località: lago

Re: filtrare squadre per nazione

Postdi PcBase » 06/03/11 16:16

Ciao

Controlla i tempi dell'allegato!

http://rapidshare.com/files/451222236/C ... re_new.xls

Verifica il flusso dati
Windows xp + Office 2003 Ita
Windows8 Office 2013
PcBase
Utente Senior
 
Post: 143
Iscritto il: 24/02/11 23:26

Re: filtrare squadre per nazione

Postdi raimea » 06/03/11 17:19

wa wa wauuuuu :eeh:
tipo ferrari...
va tutto bene , ho "studiato"..la macro da te modificata
--> 1.000 grazie sistemo alcune cosette e metto on.linee il file
GRAZIE.
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1410
Iscritto il: 11/02/10 07:33
Località: lago

Re: filtrare squadre per nazione

Postdi Anthony47 » 07/03/11 00:11

Ottima la macro preparata da PcBase.
Avresti potuto anche procedere con una macro autoregistrata mentre:
-pulisci l' area di calcolo (AC6:BL200)
-metti in AC6 la formula che ti avevo dato (Contr-Maiusc-Enter!)
-copi AC6 e incolli in AC7:AC200
-copi AC6:AC200 e incolli in AD6:BL6
-copi AC6:BL200 e incolli-speciale /valori nella stessa area
-tasto Esc
Fine registrazione.
Poi mettevi il codice in coda alla macro creaelenco

Vale per la prossima volta

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

filtrare squadre per nazione

Postdi raimea » 07/03/11 18:34

ok
grazie a tutti e 2
questo il file "finale"
http://www.sendspace.com/file/8ti3r9

ho provato anche a fare il "compito" come descritto da antony
ma la macro parte ma non si ferma piu' :?:
comunque x ora grazie
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1410
Iscritto il: 11/02/10 07:33
Località: lago


Torna a Applicazioni Office Windows


Topic correlati a "filtrare squadre per nazione":


Chi c’è in linea

Visitano il forum: Marius44 e 42 ospiti