| | Post: 1 | Registrato il: 21/11/2017
| Città: PORTOSCUSO | Età: 51 | Utente Junior | 16.28 | | OFFLINE | |
|
01/02/2020 16:56 | |
Un saluto a tutti, ho questo problema, ho un elenco in continua evoluzione di valori tipo il seguente:
216,73
187,39
187,39
187,39
69,97
69,97
24,74
24,74
24,74
996,07
978,83
922,12
922,12
22,37
956,03
922,12
922,12
922,12
914,02
902,03
902,03
902,03
822,04 *
822,04
822,04
e vorrei evidenziare solo l'ultimo valore che differisce dal precedente, nell'esempio di sopra dovrebbe essere evidenziato il valore con l'asterisco, ovviamente mi serve che all'inserimento di un altro valore diverso dall'ultimo il vecchio valore evidenziato torni normale e l'ultimo venga evidenziato.
Per evidenziare intendo il cambio del colore dello sfondo o del carattere.
Qualcuno sa dirmi come fare?
Grazie!!! [Modificato da andorea 01/02/2020 16:56] |
|
| | Post: 4.323 | Registrato il: 21/06/2013
| Città: NAPOLI | Età: 70 | Utente Master | Excel 365 | | ONLINE |
|
01/02/2020 17:42 | |
Non so se ho capito bene
Supponendo i dati in colonna A prova questa macro
vb Sub evidenzia()
Dim i As Integer
Dim ur As Long
ur = Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To ur
If Range("a" & i).Value <> Range("a" & i).Offset(-1, 0).Value Then
Range("a" & i).Interior.ColorIndex = 6
End If
Next i
End Sub
Alfredo |
| | Post: 2.505 | Registrato il: 06/04/2013
| Utente Veteran | 2010 | | OFFLINE |
|
01/02/2020 17:59 | |
ciao
forse è meglio partire dal fondo e se trovato uscire dal loop
saluti
Domenico
Win 10 - Excel 2016 |
| | Post: 2 | Registrato il: 21/11/2017
| Città: PORTOSCUSO | Età: 51 | Utente Junior | 16.28 | | OFFLINE | |
|
01/02/2020 19:11 | |
Intanto grazie per il suggerimento e soprattutto per l'attenzione.
Non sono del tutto convinto per questi motivi motivi:
1) il numero delle righe è molto variabile
2) lo devo poter applicare a diverse colonne
3) deve rilevare qualsiasi tipo di variazione, sia in diminuzione che in aumento
4) sarebbe meglio se il controllo lo facesse una formula in cella, senza usare macro (in alcuni pc dove uso excel c'è un firewall/antivirus molto restrittivo che blocca l'esecuzione di macro o costringe a chiedere all'amministratore di sistema di inserire delle eccezioni...)
|
| | Post: 3 | Registrato il: 21/11/2017
| Città: PORTOSCUSO | Età: 51 | Utente Junior | 16.28 | | OFFLINE | |
|
01/02/2020 19:17 | |
Sono d'accordo con te, l'ideale sarebbe scansire dal fondo alla ricerca di una variazione di valore, ignorando le celle vuote e "marcare" quella che ha un valore differente, ho provato a farlo anche inserendo una colonna nascosta che semplicemente funge da marcatore di cambiamento ma poi mi sono arenato per evidenziare la cella con il valore vero e proprio... |
| | Post: 4 | Registrato il: 21/11/2017
| Città: PORTOSCUSO | Età: 51 | Utente Junior | 16.28 | | OFFLINE | |
|
01/02/2020 19:21 | |
Hai pensato bene, un range è essenziale e facilmente definibile (sempre ammesso e non concesso che si adatti all'inserimento di righe nell'elenco...), purtroppo come ho detto prima, devo cercare di evitare le macro... |
| | Post: 1.874 | Registrato il: 10/10/2013
| Città: VICENZA | Età: 69 | Utente Veteran | 365 | | OFFLINE |
|
01/02/2020 23:11 | |
ciao
utilizza una colonna d'appoggio.
da A2 i dati
in B2 scrivi
=SE(O(A2=A1;A3="");"";MAX($B$1:B1)+1)
e tirala in giù
seleziona da A2 a dove ti serve
formattazione condizionale
formule
scrivi
=$B2=GRANDE(B2:B26;1)
conferma.
non riesco a cancellare il file
con la formattazione nella cella sopra.
ho allegato un secondo file esatto [Modificato da federico460 01/02/2020 23:20] |
| | Post: 2.240 | Registrato il: 21/03/2008
| Città: LOCATE VARESINO | Età: 76 | Utente Veteran | 2007 / 13 | | OFFLINE | |
|
02/02/2020 10:42 | |
ciao
altra soluzione con F.C.
io ho selezionato 4 colonne fino a righe 200 e ho inserito la seguente formula
=CONFRONTA(INDIRETTO(INDIRIZZO(MAX(INDICE((A$1:A$200<>"")*RIF.RIGA(A$1:A$200);));RIF.COLONNA(A$1)));A$1:A$200;0)=RIF.RIGA()
a fianco ho lasciato quattro colonne per controllo ( PS. non servono )
allego il file di prova generato
Controlla se puo' essere utile
PS Con una Sub() di controllo e' sempre piu' performante
[Modificato da locatevaresino 02/02/2020 10:42] Ciao da locate
excel 2007 / 13 |
| | Post: 5 | Registrato il: 21/11/2017
| Città: PORTOSCUSO | Età: 51 | Utente Junior | 16.28 | | OFFLINE | |
|
02/02/2020 21:10 | |
Ciao,
la tua soluzione sembra la più semplice da applicare ma ha un problema, se in una cella si trova un testo (condizione temporanea ma possibile) questo viene evidenziato mentre dovrebbe essere ignorato, dovrebbe considreare solo i numeri...
Come ho un po di tempo provo a modificare la tua formula e vediamo se riesco a fargli ignorare i testi, per ora grazie.
Ovviamente grazie a tutti voi che mi avete dato delle idee su cui lavorare, mi siete stati tutti davvero molto utili!!!
Se avete altri suggerimenti ve ne sarò grato!
|
|
03/02/2020 14:16 | |
Scusate se intervengo, le formule di locatevaresino sono OK
Rimane il problema che "intervengono" solo se aggiungo una riga alla colonna.
Secondo me, non esiste un...
>>>in alcuni pc dove uso excel c'è un firewall/antivirus molto restrittivo che blocca l'esecuzione di macro o costringe a chiedere all'amministratore di sistema di inserire delle eccezioni...
Si tratta solo di abilitare le macro in Opzioni Excel (oppure disattivare "la procedura nell'antivirus"
Comunque anche fosse, per lavoro chiederei all'amministratore di abilitarle.
PS. Chiedo agli EsperTi, come evitare l'errore VBA nell'inserire due valori insieme. |
| | Post: 6 | Registrato il: 21/11/2017
| Città: PORTOSCUSO | Età: 51 | Utente Junior | 16.28 | | OFFLINE | |
|
12/02/2020 22:30 | |
Rieccomi,
ho provato ad implementare le vostre soluzioni ma mi sono trovato in difficoltà, ammetto che non ho capito la meccanica con cui viene evidenziata la cella e vi chiedo di spiegarmi meglio cosa state facendo fare alle celle e come lo state facendo...
Grazie. |
|
|