Excel Forum Per condividere esperienze su Microsoft Excel

Come posso evidenziare solo l'ultimo valore cambiato in una colonna?

  • Messaggi
  • OFFLINE
    andorea
    Post: 1
    Registrato il: 21/11/2017
    Città: PORTOSCUSO
    Età: 51
    Utente Junior
    16.28
    00 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]
  • OFFLINE
    alfrimpa
    Post: 4.323
    Registrato il: 21/06/2013
    Città: NAPOLI
    Età: 70
    Utente Master
    Excel 365
    00 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
  • OFFLINE
    dodo47
    Post: 2.505
    Registrato il: 06/04/2013
    Utente Veteran
    2010
    00 01/02/2020 17:59
    ciao
    forse è meglio partire dal fondo e se trovato uscire dal loop

    saluti



    Domenico
    Win 10 - Excel 2016
  • OFFLINE
    andorea
    Post: 2
    Registrato il: 21/11/2017
    Città: PORTOSCUSO
    Età: 51
    Utente Junior
    16.28
    00 01/02/2020 19:11
    @alfrimpa
    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...)

  • OFFLINE
    andorea
    Post: 3
    Registrato il: 21/11/2017
    Città: PORTOSCUSO
    Età: 51
    Utente Junior
    16.28
    00 01/02/2020 19:17
    @ dodo47
    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...
  • OFFLINE
    andorea
    Post: 4
    Registrato il: 21/11/2017
    Città: PORTOSCUSO
    Età: 51
    Utente Junior
    16.28
    00 01/02/2020 19:21
    @ Dshortway
    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...
  • OFFLINE
    federico460
    Post: 1.874
    Registrato il: 10/10/2013
    Città: VICENZA
    Età: 69
    Utente Veteran
    365
    00 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]
  • OFFLINE
    locatevaresino
    Post: 2.240
    Registrato il: 21/03/2008
    Città: LOCATE VARESINO
    Età: 76
    Utente Veteran
    2007 / 13
    00 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
  • OFFLINE
    andorea
    Post: 5
    Registrato il: 21/11/2017
    Città: PORTOSCUSO
    Età: 51
    Utente Junior
    16.28
    00 02/02/2020 21:10
    @ locatevaresino
    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!

  • ABCDEF@Excel
    00 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.
  • OFFLINE
    andorea
    Post: 6
    Registrato il: 21/11/2017
    Città: PORTOSCUSO
    Età: 51
    Utente Junior
    16.28
    00 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.