Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

formattazione condizionale bloccata

Ultimo Aggiornamento: 05/09/2017 23:25
Post: 19
Registrato il: 04/11/2005
Utente Junior
excel 2007 e 2010
OFFLINE
25/08/2017 18:26

salve a tutti tempo fa avevo chiesto aiuto per una formula condizionale che mi permetteva di evidenziare dei gruppi di duplicati in colonna "A" solo al verificarsi di altre due condizioni in colonna "C" e "J", e cioè evidenziare i duplicati in colonna A se le date relative all'incrocio in colonna C sono diverse e se il nominativo in colonna J è uguale, la formula funzionante è la seguente:
=MATR.SOMMA.PRODOTTO(($A$1:$A$16962=A1)*($C$1:$C$16962<>C1)*($C$1:$C$16962<>0)*($j$1:$j$16962=j1))*E(C1>0;j1<>"")>0

dal range della formula si evince che la formula interessa numerose righe e dopo effettuata la formattazione il foglio diventa difficile da gestire perchè va in blocco(il su e giu va a scatti, il filtro si blocca ecc, ecc),
domando esiste un modo alternativo magari in vba per ottenere lo stesso risultato
non so se ho reso al meglio vi ringrazio anticipatamente
allego file esempio breve in excel 2007, io uso anche excel 2010
clmmrz
io uso excel 2007
Post: 416
Registrato il: 24/06/2015
Città: CATANIA
Età: 80
Utente Senior
Excel2019
ONLINE
26/08/2017 09:05

Ciao
Prova con questa macro
Sub prova()
ur = Cells(Rows.Count, 1).End(xlUp).Row
Range("N2:N" & ur).Interior.ColorIndex = xlNone
For i = 2 To ur - 1
    For j = i + 1 To ur
        If Cells(i, 1).Value = Cells(j, 1).Value Then
            If Cells(i, 3).Value <> Cells(j, 3).Value And _
                Cells(i, 3).Value <> "" And Cells(j, 3).Value <> "" Then
                If Cells(i, 10).Value = Cells(j, 10).Value Then
                    Cells(i, 14).Interior.ColorIndex = 3
                    Cells(j, 14).Interior.ColorIndex = 3
                End If
            End If
        End If
    Next j
Next i
End Sub

T'avverto, però, che c'è un doppio errore.
Uno mio: la macro colora la riga 23 (e non dovrebbe)
Uno tuo: dici che sono vere le condizioni in riga 25 e, a mio parere, dovrebbe essere Falso

Ci sentiamo. Ciao,
Mario

PS - Ho colorato le celle della colonna N (al caso, poi, cambia)
Post: 1.575
Registrato il: 06/04/2013
Utente Veteran
2010
OFFLINE
26/08/2017 18:31

ciao

la mia è semplice curiosità in quanto sei in ottime mani.

Tuo scopo (salvo errori):
id uguali
date diverse
nomi uguali

1)Sei certo che quella formula funzioni? Te lo chiedo in quanto la formula riporta VERO in riga 24 e 25, dove le date sono uguali.

2)righe 23-24-25 hanno id uguali, nomi uguali, ma solo una data (26/04/17..anche se scritta male) diversa dalle altre due. Quale riga dovrebbe essere colorata oltre la 23, la 24 o la 25 ?

Ma ripeto, solo curiosità

Saluti


Domenico
Win 10 - Excel 2016
Post: 20
Registrato il: 04/11/2005
Utente Junior
excel 2007 e 2010
OFFLINE
29/08/2017 11:49

formattazione condizionale bloccata
grazie per l'interessamento, allora effettivamente nel mio esempio ho sbagliato il risultato voluto nelle righe 23, 24 e 25 nell'esempio riportato dovrebbe essere evidenziata solo la riga 23 che soddisfa le tre condizioni; per quanto riguarda la formula (Matr.somma.prodotto) da me indicata proprio a causa dei blocchi mi sembrava funzionare non l'ho testata al 100%. Adesso proverò quanto illustrato da Marius44 e farò sapere.grazie
clmmrz
io uso excel 2007
Post: 22
Registrato il: 04/11/2005
Utente Junior
excel 2007 e 2010
OFFLINE
29/08/2017 14:52

per Marius44 ho provato il tuo codice e sembra andare bene (il controllo su oltre 15000 righe non è semplice), però non sono riuscito a colorare altre celle invece di quelle della colonna N; ho provato a sostituire a "N2:N" altra lettera corrispondente ad altra colonna ma mi evidenzia sempre la colonna "N"; poi un'altra cosa per eseguire l'operazione ci son voluti 12 minuti, pensi che sia normale vista la grandezza del file oppure ci sono problemi alla mia (macchina Intel(R) Core(™) i3-6100T cpu@ 3.20GHz - Ram 8.00 gb
64 bit - In rete.?)grazie molte
clmmrz
io uso excel 2007
Post: 23
Registrato il: 04/11/2005
Utente Junior
excel 2007 e 2010
OFFLINE
29/08/2017 23:46

Re:
Marius44, 26/08/2017 09.05:

Ciao
Prova con questa macro
Sub prova()
ur = Cells(Rows.Count, 1).End(xlUp).Row
Range("N2:N" & ur).Interior.ColorIndex = xlNone
For i = 2 To ur - 1
    For j = i + 1 To ur
        If Cells(i, 1).Value = Cells(j, 1).Value Then
            If Cells(i, 3).Value <> Cells(j, 3).Value And _
                Cells(i, 3).Value <> "" And Cells(j, 3).Value <> "" Then
                If Cells(i, 10).Value = Cells(j, 10).Value Then
                    Cells(i, 14).Interior.ColorIndex = 3
                    Cells(j, 14).Interior.ColorIndex = 3
                End If
            End If
        End If
    Next j
Next i
End Sub

T'avverto, però, che c'è un doppio errore.
Uno mio: la macro colora la riga 23 (e non dovrebbe)
Uno tuo: dici che sono vere le condizioni in riga 25 e, a mio parere, dovrebbe essere Falso

Ci sentiamo. Ciao,
Mario

PS - Ho colorato le celle della colonna N (al caso, poi, cambia)




clmmrz
io uso excel 2007
Post: 418
Registrato il: 24/06/2015
Città: CATANIA
Età: 80
Utente Senior
Excel2019
ONLINE
29/08/2017 23:48

Ciao

per cambiare colonna non basta sostituire la lettera dell'intervallo, devi anche sostituire il numero della colonna in queste due righe:
Cells(i, 14).Interior.ColorIndex = 3
Cells(j, 14).Interior.ColorIndex = 3
nelle quali, appunto, il n. 14 si riferisce alla colonna N

Per quanto attiene al problema "tempo", visto il considerevole numero di righe (non lo avevi detto), forse sarebbe il caso di utilizzare altri procedimenti (assegnazione dei dati a delle matrici e confrontare le matrici oppure con delle Collection - ma non accettano duplicati - oppure ancora con Dictionary). Questo tipo di operazioni, però, non sono il mio campo ma forse Dodo può venirti incontro.

Ciao,
Mario
Post: 24
Registrato il: 04/11/2005
Utente Junior
excel 2007 e 2010
OFFLINE
05/09/2017 23:25

ringrazio marius44 per l'attenzione rivolta, ma se c'è qualcuno che può velocizzare quanto proposto da Marius...grazie e grazie
clmmrz
io uso excel 2007
Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Formattazione condizionale: una regola con 2 condizioni (8 messaggi, agg.: 15/12/2022 13:30)
Formattazione Condizionale (5 messaggi, agg.: 22/09/2023 05:11)
Formattazione condizionale (3 messaggi, agg.: 01/11/2023 17:33)
Formattazione condizionale o VBA (6 messaggi, agg.: 12/01/2024 16:21)
formattazione condizionale (7 messaggi, agg.: 06/12/2016 08:46)
formattazione condizionale riga intera (2 messaggi, agg.: 02/12/2016 09:13)
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 07:52. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com