Risultati da 1 a 5 di 5

Discussione: Colorare celle con duplicati col vba



  1. #1

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Como
    Età
    53
    Messaggi
    7147
    Versione Office
    2011MAC 2016WIN
    Likes ricevuti
    2063
    Likes dati
    1300

    Colorare celle con duplicati col vba

    Riprendendo QUESTA discussione (visto che è stata creata nella sezione "Domande su Excel in generale" e quindi non attinente al vba) volevo condividere questo codice per colorare duplicati nella stessa colonna con colori differenti per i diversi duplicati, in qualsiasi posizione si trovano nel foglio.

    Codice: 
    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Rng As Range, Rng2 As Range, Cell As Range
        Dim Cell2 As Range, Colour As Integer
        Set Rng2 = ActiveSheet.UsedRange
        Rng2.Interior.ColorIndex = xlNone
        Colour = 3
        For Each Rng In Rng2.Columns
            For Each Cell In Rng.Cells
                If Application.CountIf(Rng, Cell.Value) > 1 And Cell.Interior.ColorIndex = xlNone And Not IsEmpty(Cell.Value) Then
                    For Each Cell2 In Rng.Cells
                        If Cell2.Value = Cell.Value Then Cell2.Interior.ColorIndex = Colour
                    Next
                    Colour = Colour + 1
                    If Colour = 50 Then Colour = 3
                End If
                Next:  Next
    End Sub
    File Allegati File Allegati
    Ultima modifica fatta da:ges; 11/03/16 alle 15:18
    Quando si scartano tutte le ipotesi possibili, quella che resta, anche se può sembrare improbabile, non può che essere quella giusta!

  2. I seguenti 5 utenti hanno dato un "Like" a ges per questo post:


  3. #2

    L'avatar di scossa
    Clicca e Apri
    Data Registrazione
    Jul 2015
    Località
    Verona Provincia
    Età
    57
    Messaggi
    1017
    Versione Office
    .
    Likes ricevuti
    366
    Likes dati
    0
    Citazione Originariamente Scritto da ges Visualizza Messaggio
    volevo condividere questo codice per colorare duplicati nella stessa colonna con colori differenti per i diversi duplicati, in qualsiasi posizione si trovano nel foglio.
    Ciao ges,

    bel lavoro!

    Lo trovo valido e quindi ho pensato di aggiungere una "feature": poter fare doppio click su una delle celle colorate per trovare in successione le altre celle con lo stesso valore. Questo perché se si hanno molte righe diventa difficile trovare i vari duplicati.

    Si tratta solo di aggiungere il seguente codice relativo all'evento BeforeDoubleClick():

    Codice: 
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
      Static sFirst As String
      Static sFnd As String
      Static vFnd As Variant
      Dim rFnd As Range
      
      If Target.Interior.ColorIndex <> xlColorIndexNone Then
        If sFirst = "" Or vFnd <> Target.Value Then
          sFirst = Target.Address
          sFnd = sFirst
          vFnd = Target.Value
        End If
          
        Set rFnd = Target.Columns(1).EntireColumn.Find(Target.Value, after:=Target, LookIn:=xlValues, lookat:=xlWhole)
        rFnd.Select
        If rFnd.Address = sFirst Then
          MsgBox "non ci sono altre occorrenze" & vbCrLf & vbCrLf & _
            "ho trovato " & Target.Value & " in queste celle:" & vbCrLf & sFnd
        Else
          sFnd = sFnd & "; " & rFnd.Address(0, 0)
          MsgBox Target.Value & " trovato in " & rFnd.Address(0, 0)
        End If
        If sFirst = rFnd.Address Then sFirst = ""
        Set rFnd = Nothing
        Cancel = True
      End If
    End Sub
    Bye!
    scossa
    scossa's web site
    ___
    Se tu hai una mela, e io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee. (George Bernard Shaw)

  4. I seguenti utenti hanno dato un "Like"


  5. #3

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Como
    Età
    53
    Messaggi
    7147
    Versione Office
    2011MAC 2016WIN
    Likes ricevuti
    2063
    Likes dati
    1300
    Woww! Questo complimento da parte di scossa me lo conservo gelosamente!!!
    Comunque - non smetterò mai di ricordarlo - molte cose le ho imparate proprio grazie a lui.
    Quando si scartano tutte le ipotesi possibili, quella che resta, anche se può sembrare improbabile, non può che essere quella giusta!

  6. #4
    L'avatar di Lety88
    Clicca e Apri
    Data Registrazione
    Mar 2016
    Località
    Brindisi
    Età
    29
    Messaggi
    131
    Versione Office
    Office 2013
    Likes ricevuti
    0
    Likes dati
    7

    Re: Colorare celle con duplicati col vba

    Ottima soluzione, non so se posso riallacciarmi questa discussione, desideravo sapere come passare un unica colonna da controllare e avviare la macro da un pulsante.

  7. #5
    L'avatar di klingklang
    Clicca e Apri
    Data Registrazione
    Oct 2017
    Località
    San G. in Persiceto
    Età
    40
    Messaggi
    207
    Versione Office
    2016, 365
    Likes ricevuti
    64
    Likes dati
    94

    Re: Colorare celle con duplicati col vba

    Se mai qualcuno ne avesse voglia, può provare anche l'implementazione del mio tool (link in firma). Uso un sistema leggermente diverso per randomizzare i colori, sicuramente quello di ges aiuta a non averli troppo simili, almeno per i primi 50 set di duplicati Allego un paio di screen

    Codice: 
                'Seleziono un colore random con valori R, G, B compresi tra 75 e 220 (per non renderli troppo scuri, o quasi bianchi)
                col_R = 75 + (Round(Rnd() * (220 - 75), 0))
                col_G = 75 + (Round(Rnd() * (220 - 75), 0))
                col_B = 75 + (Round(Rnd() * (220 - 75), 0))
    
                [...]
    
                .Interior.Color = RGB(col_R, col_G, col_B)
    File Allegati File Allegati
    Enrico
    "Se ho visto più lontano, è perché stavo sulle spalle di giganti" (I. Newton) - Il mio addin: Excel Swiss Knife

Discussioni Simili

  1. Colorare Celle
    Di Edoardo89 nel forum Domande su Excel in generale
    Risposte: 5
    Ultimo Messaggio: 13/12/16, 17:05
  2. Colorare Sfondo Range di Celle con VBA
    Di Tullio17 nel forum Domande su Excel VBA e MACRO
    Risposte: 23
    Ultimo Messaggio: 12/12/16, 17:47
  3. Colorare celle non in sequenza
    Di G.Bove nel forum Domande su Excel VBA e MACRO
    Risposte: 4
    Ultimo Messaggio: 08/09/16, 23:05
  4. Excel 2010 come colorare alcune celle
    Di Pacifico437 nel forum Domande su Excel in generale
    Risposte: 8
    Ultimo Messaggio: 17/11/15, 16:00
  5. Colorare piu' celle con un range di numeri
    Di daigoro7 nel forum Domande su Excel in generale
    Risposte: 14
    Ultimo Messaggio: 05/10/15, 14:16

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •