2010-01-29 12 views

Répondre

2

Vous n'avez pas besoin d'une macro VBA. Vous pouvez simplement utiliser la mise en forme conditionnelle. Microsoft explique comment faire exactement ce que vous semblez avoir besoin ici:

http://office.microsoft.com/en-us/excel/HA011366161033.aspx

Si vous avez vraiment besoin d'une macro, serait la meilleure façon d'enregistrer les étapes décrites ci-dessus, puis modifier au besoin.

+1

Lien brisé. Pourriez-vous le mettre à jour? – avgvstvs

1

Peut-être que cet extrait est utile:

Public Sub MarkDuplicates() 
Dim iWarnColor As Integer 
Dim rng As Range 
Dim rngCell As Variant 


Set rng = Range("A1:A200") ' area to check ' 
iWarnColor = xlThemeColorAccent2 

For Each rngCell In rng.Cells 
    vVal = rngCell.Text 
    If (WorksheetFunction.CountIf(rng, vVal) = 1) Then 
     rngCell.Interior.Pattern = xlNone 
    Else 
     rngCell.Interior.ColorIndex = iWarnColor 
    End If 
Next rngCell 
End Sub 
0
Sub MarkDuplicates2() 
Dim rngCell As Variant 
Dim flag As Integer 

Dim LastRow As Long 

'To Check Duplicate records for dynamic rows: 
    LastRow = 0 
    With ActiveSheet 
    LastRow = .Cells(.Rows.Count, "B").End(xlUp).Row 
    End With 

flag = 0`enter code here` 
'Cell(2,2) represent "B2" 
Set rng = Range(Cells(2, 2), Cells(LastRow, 2)) 
iWarnColor = xlThemeColorAccent2 

For Each rngCell In rng.Cells 
    vVal = rngCell.Text 
    If (WorksheetFunction.CountIf(rng, vVal) = 1) Then 
     rngCell.Interior.Pattern = xlNone 

    Else 
     rngCell.Interior.ColorIndex = iWarnColor 
     flag = flag + 1 
    End If 
Next rngCell 

    If flag > 0 Then 
    MsgBox flag & " cells (in light blue) contain an error. Please Check!" 
    Else 
    MsgBox " Data Validation completed. No errors found." 
    End If 

End Sub 
0
Sub Macro1() 

    Dim Counter As Integer 

    For Counter = 1 To 35 

     'Cells.(X,Y) X = number, Y = Letter i.e D5 Cells(5,4) 
     firstValue = ActiveSheet.Cells(Counter, 3) 
     SecondValue = ActiveSheet.Cells(Counter, 4) 

     If firstValue = SecondValue Then 
      Rows(Counter).Interior.Color = RGB(255, 10, 10) 
     End If 


    Next 

End Sub 
0

Ross Larson ont répondu à cette question ici. Finding duplicate rows in excel

Je cite sa réponse, « La plus rapide et la plus facile absolue Mise en forme conditionnelle , mettez en surbrillance les doublons (sur la colonne ID) puis filtrez la colonne (vraisemblablement dans une table) par la couleur (au-dessus des cases à cocher). "

Hier, j'ai personnellement essayé cela et ça a très bien fonctionné. Pas besoin d'écrire une macro ou un script VBA fantaisie. Utilisez simplement la fonctionnalité Excel prête à l'emploi.

La réponse de Paul Rayner en 2010 a un lien brisé. Le lien de Ross Larson fonctionne toujours - au moins pour l'instant.

+0

@avgvstvs Je mets dans cette réponse pour votre édification;) – keepaustinbeard

+0

Alors que ce lien peut répondre à la question, il est préférable d'inclure les parties essentielles de la réponse ici et fournir le lien pour référence. Les réponses à lien uniquement peuvent devenir invalides si la page liée change. – mmichael

+0

Ok, j'ai édité ma réponse. Est-ce que c'est bon? – keepaustinbeard

Questions connexes