Condividi:        

excel macro per ordinare in automatico con click su intestaz

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 macro per ordinare in automatico con click su intestaz

Postdi accio1965 » 27/10/13 19:02

salve
vorrei ordinare una tabella con un semplice click sull'intestazione della colonna relativa
trattandosi di statistiche di basket
vorrei per esempio ordinare la tabella semplicemente klikkando su la cella della collonna punti, oppure rimbalzi, oppure valutazione ecc
spero di essere stato chiaro
grazie a voi
AMD Athlon 64x2 dual core P 4600+ 2,40 GHz
windows vista hd sp2
office 2007
accio1965
Utente Junior
 
Post: 52
Iscritto il: 21/08/07 08:39

Sponsor
 

Re: excel macro per ordinare in automatico con click su inte

Postdi Anthony47 » 27/10/13 20:47

Supponiamo che le tue intestazioni siano in A1:G1, e la tabella sia in A1:G30
Tasto dx sul tab col nome Foglio, scegli Visualizza codice; copia la seguente macro e incollala nel frame vuoto di dx:
Codice: Seleziona tutto
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
CheckArea = "A1:G1"    '<<< Le colonne con l' intestazione
If Application.Intersect(Target, Range(CheckArea)) Is Nothing Or Selection.Count > 1 Then Exit Sub
'
    Range("A1:G30").Sort Key1:=Selection, Order1:=xlDescending, Header:=xlYes, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
End Sub

Adatta le istruzioni (due) ai veri indirizzi della tua tabella.

Ciao, fai sapere...
Avatar utente
Anthony47
Moderatore
 
Post: 19425
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: excel macro per ordinare in automatico con click su inte

Postdi accio1965 » 27/10/13 21:09

ho copiato ed inserito

Codice: Seleziona tutto
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
CheckArea = "B5:AB5"    '<<< Le colonne con l' intestazione
If Application.Intersect(Target, Range(CheckArea)) Is Nothing Or Selection.Count > 1 Then Exit Sub
'
    Range("B5:ABG30").Sort Key1:=Selection, Order1:=xlDescending, Header:=xlYes, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
End Sub

l'ho fatto e non funzionava niente, poi ho lanciato un altra macro ed è partito il tutto?
come è possibile? cosa devo fare per attivarla?
AMD Athlon 64x2 dual core P 4600+ 2,40 GHz
windows vista hd sp2
office 2007
accio1965
Utente Junior
 
Post: 52
Iscritto il: 21/08/07 08:39

Re: excel macro per ordinare in automatico con click su inte

Postdi Anthony47 » 27/10/13 22:07

l'ho fatto e non funzionava niente, poi ho lanciato un altra macro ed è partito il tutto?
Ma adesso funziona o no?

In quale "Modulo" hai inserito il codice? (si legge nell' intestazione della finestra in cui visualizzi la macro)

Immagino che sia anche correggere Range("B5:ABG30").Sort

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

Re: excel macro per ordinare in automatico con click su inte

Postdi accio1965 » 27/10/13 22:20

Anthony47 ha scritto:
l'ho fatto e non funzionava niente, poi ho lanciato un altra macro ed è partito il tutto?
Ma adesso funziona o no?

In quale "Modulo" hai inserito il codice? (si legge nell' intestazione della finestra in cui visualizzi la macro)

Immagino che sia anche correggere Range("B5:ABG30").Sort

Ciao

si ora funziona bene cmq non è in un modulo è nel foglio 15 quello della classifica in questione
ripeto funziona dopo che ho avviato un altra macro

al contrario in altra tabella analoga non va
in questo caso ci sono molte righe sopra la tabella in questione con dei valori che pero non dovono essere ordinate
le intestazioni vanno da B28 a Z28
mentre i dati da ordinare stanno B29:Z46

Codice: Seleziona tutto
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
CheckArea = "B28:Z28"    '<<< Le colonne con l' intestazione
If Application.Intersect(Target, Range(CheckArea)) Is Nothing Or Selection.Count > 1 Then Exit Sub
'
    Range("B29:Z46").Sort Key1:=Selection, Order1:=xlDescending, Header:=xlYes, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
End Sub
AMD Athlon 64x2 dual core P 4600+ 2,40 GHz
windows vista hd sp2
office 2007
accio1965
Utente Junior
 
Post: 52
Iscritto il: 21/08/07 08:39

Re: excel macro per ordinare in automatico con click su inte

Postdi Anthony47 » 27/10/13 22:43

E' possibile che "prima" avevi una macro in debug?

Quanto alla nuova tabella, se le intestazioni sono in B28:Z28 allora l' intera tabella si trovera' in "B28:Z46" (non "B29:Z46")

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


Torna a Applicazioni Office Windows


Topic correlati a "excel macro per ordinare in automatico con click su intestaz":


Chi c’è in linea

Visitano il forum: Nessuno e 9 ospiti