Apro un nuovo topic e sposto gli ultimi messaggi, continuaiamo quì visto che il problema era come da titolo e non relativo all'ordinamento dei dati.
Così è più visibile e magari utile ad altri utenti.
ATI900PRO ha scritto:Ho un problema con excel. Vorrei creare con il VBA una macro che mi riordini dei dati, mediante l'aggiunta di un comando (con bottone sul folgio di lavoro per intenderci).
L'ordinamento dovrebbe riguardare alcuni campi: posizione in classifica, nome squadra, punti ottenuti, gol segnati, reti subite e diff. reti, con gli ultimi quattro campi collegati a formule. Premetto che prima stabilisco la posizione in classifica (cioè scrivo nella tabella il posto raggiunto della squadra sulla base di alcuni criteri), dati che poi vorrei ordinare in ordine decrescente:
Esempio
dopo la valutazione dei criteri sulla base del regolamento del torneo ho la seguente situazione:
pos squadra punti reti fatte reti subite diff. reti
2 x 4 6 2 +4
1 y 6 10 3 + 7
4 z 0 2 8 -6
3 t 2 4 6 -2
i campi punti, reti fatte, reti subite, diff. reti sono collegati a formule
come posso ordinare il tutto facendo in modo che ottenga questo:
1 y 6 10 3 + 7
2 x 4 6 2 + 4
3 t 2 4 6 - 2
4 z 0 2 8 - 6
Rigrazio chi potrà aiutarmi
Alexsandra ha scritto:Scarica il file di Esempio e vedi come è fatto
- Codice: Seleziona tutto
Sub ordina()
Range("A2:F5").Select
Selection.Sort Key1:=Range("D2"), Order1:=xlDescending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Range("A1").Select
End Sub
ATI9000PRO ha scritto:ho provato ad adattare il codice ad una delle tante classifiche che devo aggiornare, ma non funziona: seleziono l'intervallo che mi interessa, ma ho come riferimento errore run time 1004.
Premetto che sono un neofita del visual basic.
Ma nell'esempio proposto, come mai c'è il riferimento a D2?