Una famiglia di software per fogli di calcolo Microsoft con strumenti per l'analisi, la creazione di grafici e la comunicazione dei dati.
come posso scrivere una macro che, assegnati una serie di valori in una determinata riga di un foglio excel, mi scriva nella riga superiore il numero in ordine decrescente. Es. Data la riga coi valori : 10, 20, 45, 6, 24 La macro scriverà nelle celle adiacenti sopra i valori 4,3,1,5,2
Il povero vb si potrebbe lasciare in pace questa volta, e se lo dico io... ;-)
Per il tuo esempio:
A4: = RANGO(A5;$A$5:$E$5)
e trascini fino a E4.
Se proprio vuoi una macro, questa fa quanto chiedi sulle celle selezionate:
Public Sub m()
With Selection
.Offset(-1).Formula = "=RANK(" & ActiveCell.Address(False, False) & "," & .Address & ")"
.Offset(-1).Value = .Offset(-1).Value
End With
End Sub
Ripeto, in base a quanto hai scritto:
- Selezioni le celle
- Lanci la macro
- Nelle celle sovrastanti trovi l'ordine richiesto
Banale sostituire Selection con riferimenti precisi.