Note: The other languages of the website are Google-translated. Back to English

Hoe dubbele waarden in verschillende kleuren in Excel markeren?

doc verschillende kleuren duplicaten 1

In Excel kunnen we eenvoudig de dubbele waarden in een kolom met één kleur markeren door de Conditionele opmaak, maar soms moeten we de dubbele waarden in verschillende kleuren markeren om de duplicaten snel en gemakkelijk te herkennen, zoals in het onderstaande screenshot. Hoe zou je deze taak in Excel kunnen oplossen?

Markeer dubbele waarden in een kolom met verschillende kleuren met behulp van VBA-code


pijl blauw rechts bel Markeer dubbele waarden in een kolom met verschillende kleuren met behulp van VBA-code

In feite is er voor ons geen directe manier om deze klus in Excel af te ronden, maar de onderstaande VBA-code kan u helpen, doe dit als volgt:

1. Selecteer de kolom met waarden waarvan u duplicaten met verschillende kleuren wilt markeren en houd vervolgens de ALT + F11 toetsen om de te openen Microsoft Visual Basic voor toepassingen venster.

2. Klik Invoegen > Moduleen plak de volgende code in het Module Venster.

VBA-code: markeer dubbele waarden in verschillende kleuren:

Sub ColorCompanyDuplicates()
'Updateby Extendoffice
    Dim xRg As Range
    Dim xTxt As String
    Dim xCell As Range
    Dim xChar As String
    Dim xCellPre As Range
    Dim xCIndex As Long
    Dim xCol As Collection
    Dim I As Long
    On Error Resume Next
    If ActiveWindow.RangeSelection.Count > 1 Then
      xTxt = ActiveWindow.RangeSelection.AddressLocal
    Else
      xTxt = ActiveSheet.UsedRange.AddressLocal
    End If
    Set xRg = Application.InputBox("please select the data range:", "Kutools for Excel", xTxt, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    xCIndex = 2
    Set xCol = New Collection
    For Each xCell In xRg
      On Error Resume Next
      xCol.Add xCell, xCell.Text
      If Err.Number = 457 Then
        xCIndex = xCIndex + 1
        Set xCellPre = xCol(xCell.Text)
        If xCellPre.Interior.ColorIndex = xlNone Then xCellPre.Interior.ColorIndex = xCIndex
        xCell.Interior.ColorIndex = xCellPre.Interior.ColorIndex
      ElseIf Err.Number = 9 Then
        MsgBox "Too many duplicate companies!", vbCritical, "Kutools for Excel"
        Exit Sub
      End If
      On Error GoTo 0
    Next
End Sub

3. En druk vervolgens op F5 sleutel om deze code uit te voeren, en een promptvenster zal u eraan herinneren om het gegevensbereik te selecteren waarvan u de dubbele waarden wilt markeren, zie screenshot:

doc verschillende kleuren duplicaten 2

4. Dan klikken OK knop, zijn alle dubbele waarden gemarkeerd in verschillende kleuren, zie screenshot:

doc verschillende kleuren duplicaten 1


De beste tools voor kantoorproductiviteit

Kutools for Excel Lost de meeste van uw problemen op en verhoogt uw productiviteit met 80%

  • visfuik: Snel invoegen complexe formules, grafieken en alles wat je eerder hebt gebruikt; Versleutel cellen met wachtwoord; Maak een mailinglijst en stuur e-mails ...
  • Super Formula-balk (bewerk eenvoudig meerdere regels tekst en formule); Lay-out lezen (gemakkelijk grote aantallen cellen lezen en bewerken); Plakken in gefilterd bereik...
  • Voeg cellen / rijen / kolommen samen zonder gegevens te verliezen; Gespleten cellen inhoud; Combineer dubbele rijen / kolommen... Voorkom dubbele cellen; Vergelijk Ranges...
  • Selecteer Dupliceren of Uniek Rijen; Selecteer lege rijen (alle cellen zijn leeg); Super zoeken en fuzzy zoeken in veel werkboeken; Willekeurige selectie ...
  • Exacte kopie Meerdere cellen zonder de formuleverwijzing te wijzigen; Maak automatisch verwijzingen naar meerdere bladen; Plaats kogels, Selectievakjes en meer ...
  • Extraheer tekst, Tekst toevoegen, Verwijderen op positie, Ruimte verwijderen; Paging-subtotalen maken en afdrukken; Converteren tussen celinhoud en opmerkingen...
  • Super filter (bewaar en pas filterschema's toe op andere bladen); Geavanceerd sorteren per maand / week / dag, frequentie en meer; Speciaal filter door vet, cursief ...
  • Combineer werkmappen en werkbladen; Tabellen samenvoegen op basis van sleutelkolommen; Gegevens splitsen in meerdere bladen; Batch Converteer xls, xlsx en PDF...
  • Meer dan 300 krachtige functies. Ondersteunt Office / Excel 2007-2021 en 365. Ondersteunt alle talen. Eenvoudig te implementeren in uw onderneming of organisatie. Volledige functies Gratis proefperiode van 30 dagen. 60 dagen geld-terug-garantie.
kte tabblad 201905

Office-tabblad Brengt een interface met tabbladen naar Office en maakt uw werk veel gemakkelijker

  • Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in, Publisher, Access, Visio en Project.
  • Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster in plaats van in nieuwe vensters.
  • Verhoogt uw productiviteit met 50% en vermindert honderden muisklikken voor u elke dag!
officetab onderkant
Heb je vragen? Stel ze hier. (91)
Nog geen beoordelingen. Beoordeel als eerste!
Deze opmerking is gemaakt door de moderator op de site
Het werkte voor mij op een lijst met onderdeelnummers.
Deze opmerking is gemaakt door de moderator op de site
Hallo,

Is er een manier om ervoor te zorgen dat dit alleen de gemarkeerde kolom beïnvloedt en niet de hele rij? Sommige van de gedurfde rode en blauwe kleuren zijn moeilijk te zien in de hele spreadsheet. Bedankt
Deze opmerking is gemaakt door de moderator op de site
Dit is precies wat ik nodig had, bedankt. Soms, wanneer ik deze code uitvoer, bevriest Excel gewoon, ik gebruik Office 2016 / Windows 10, enig idee waarom?
Deze opmerking is gemaakt door de moderator op de site
Patrick, markeer alleen de cellen die je wilt. Markeer niet de hele kolom die alle duizenden lege cellen bevat
Deze opmerking is gemaakt door de moderator op de site
ik wil de duplicaten voor 5000 cellen controleren, wat ik niet kan doen. ik kan duplicaten markeren tot 70 tot 80 cellen
Deze opmerking is gemaakt door de moderator op de site
SubbuskaartD()
Dim xRg als bereik
Dim xTxt als string
Dim xCell als bereik
Dim xChar als tekenreeks
Dim xCellPre als bereik
Dim xCol als collectie
Dim ik zo lang
Dim J als geheel getal
Dim K als geheel getal
Dim xCLR als geheel getal

xCLR = 28

On Error Resume Next
Als ActiveWindow.RangeSelection.Count> 1 Dan
xTxt = ActiveWindow.RangeSelection.AddressLocal
Anders
xTxt = ActiveSheet.UsedRange.AddressLocal
End If
Set xRg = Application.InputBox("Seleccione el rango a evaluar:", "Buscar duplicados", xTxt, , , , , 8)
Als xRg niets is, sluit dan Sub af
J=0
K = 0
Stel xCol = Nieuwe collectie in
Voor elke xCell In xRg
On Error Resume Next
xCol.Toevoegen xCell, xCell.Text
Als Err.Number = 457 Dan
Stel xCellPre = xCol(xCell.Text) in
Als xCellPre.Interior.ColorIndex = xlNone Dan
xCellPre.Interieur.Kleur = RGB(255, J, K)
xCell.Interieur.Kleur = RGB(255, J, K)
Als K + xCLR <= 255 Dan
K = K + xCLR
Anders
Als J + xCLR <= 255 Dan
K = 0
J = J + xCLR
Anders
MsgBox "!Demasiados datos duplicados!: Reducir variabele xCLR", vbCritical, "Error"
Exit Sub
End If
End If
Anders
xCell.Interior.Color = xCellPre.Interior.Color
End If
ElseIf Err.Number = 9 Dan
MsgBox "Demasiados datos duplicados!", vbCritical, "Fout"
Exit Sub
End If
On Error GoTo 0
Volgende

End Sub

Es un tema viejo, pero lo dejo por si alguien lo necesita. Con el código anterior en modificando la variable "xCLR", desde 1 a 255, se pueden obtener desde 4 hasta 65.000 colores diferentes. En mi caso, configureer el rojo del RGB con un valor estático de 255 en vario los valores verde y azul (255, X, X). Si se requieren mas colores, se podría alterar el valor del rojo, logrando mas de 166 millones de colores diferentes
Deze opmerking is gemaakt door de moderator op de site
Dit is mijn redding geweest, heel erg bedankt voor het delen! Wanneer ik het op ongeveer 2000 cellen met waarden uitvoer, worden slechts enkele van de duplicaten gemarkeerd. Is er een manier om dat op te lossen? Ik vraag me af of de kleur op is of dat er iets anders aan de hand is.
Deze opmerking is gemaakt door de moderator op de site
hetzelfde probleem probeer ik met een paar honderd cellen en heel snel kleurt het in dezelfde kleuren. is hier een oplossing voor? Met dank
Deze opmerking is gemaakt door de moderator op de site
Hetzelfde probleem. Snapt iemand dit?
Deze opmerking is gemaakt door de moderator op de site
Ik had hetzelfde probleem, het probleem is dat de kleurindex alleen naar 56 gaat, dus als het eenmaal voorbij is, worden de cellen niet langer gekleurd. Om dat op te lossen heb ik de regel "xCIndex = xCIndex + 1" vervangen door het volgende: If xCIndex > 55 Then xCIndex = 3 Else xCIndex = xCIndex + 1 End If It zal uiteindelijk kleuren gaan hergebruiken, maar dat was geen probleem voor mij.
Deze opmerking is gemaakt door de moderator op de site
Het vervangen door If xCIndex > 55 Dan xCIndex = 3 Anders xCIndex = xCIndex + 1 End If Heeft niet gewerkt. Ik probeer dit te laten werken op 14000 regels, ongeveer 6000 duplicaten
Deze opmerking is gemaakt door de moderator op de site
Het werkte voor mij, ik sprong de tweede en vierde regel in. Zie onder. De code van Josh is vetgedrukt.

Als Err.Number = 457 Dan
Als xCIndex > 55 Dan
xCIndex = 3
Anders
xCIndex = xCIndex + 1
End If
Stel xCellPre = xCol(xCell.Text) in
Deze opmerking is gemaakt door de moderator op de site
Heel erg bedankt Josh, het werkt!
Deze opmerking is gemaakt door de moderator op de site
Dit werkte PERFECT!! Dank je. Ik verloor mijn verstand bij het zoeken naar een oplossing. Waardeer jou.
Deze opmerking is gemaakt door de moderator op de site
Ik heb geprobeerd dit meerdere keren uit te voeren en elke keer dat ik op "ok" klik, wordt ik gewoon teruggestuurd naar het modulescherm. Ik gebruik Excel 2010.
Deze opmerking is gemaakt door de moderator op de site
Dit is geweldig en PRECIES wat ik zocht! Ik neem deze code op in een bestaande code - ik heb mijn code geschreven om de cellen te selecteren die ik wil kleuren, en dan roep ik de code op om de kleuring te doen. Het enige waar ik niet achter kan komen, is hoe ik de msgBox kan omzeilen die verschijnt en ik moet op OK klikken. Ik ben een beginneling in VBA en kan er niet helemaal achter komen hoe ik deze code moet wijzigen.... Suggesties, alstublieft! :)
Deze opmerking is gemaakt door de moderator op de site
Regel vervangen: Set xRg = Application.InputBox ("selecteer het gegevensbereik:", "Kutools for Excel", xTxt, , , , , 8)
naar
Stel xRg = bereik ("A1:A100") in

of als u een tabel heeft, kunt u deze toepassen op de hele tabelkolom:
Stel xRg = Bereik ("Tabel1[[#Alle],[Kolom1]]") in

vervang gewoon Tabel1 door uw eigen naam en Kolom1 door een tabelkop waarop u deze macro wilt toepassen.


Met vriendelijke groet
Wojciech
Deze opmerking is gemaakt door de moderator op de site
Ik ben erg blij, want ik heb gekregen wat ik nodig had. Bedankt
Deze opmerking is gemaakt door de moderator op de site
hoe van kleur te veranderen?
Deze opmerking is gemaakt door de moderator op de site
Hoi,
De code kan u alleen helpen om de verschillende kleuren willekeurig toe te voegen, het kan de kleur niet veranderen.
Dank je!
Deze opmerking is gemaakt door de moderator op de site
Het lijkt echter altijd hetzelfde kleurenpalet te gebruiken, is er een manier om het gebruikte palet te selecteren? Het geeft me echt donkere kleuren waardoor de tekst onleesbaar is.
Deze opmerking is gemaakt door de moderator op de site
hetzelfde probleem met mij... kleur is te donker om te lezen...
Deze opmerking is gemaakt door de moderator op de site
zonder leeg om een ​​kleur te veranderen hoe ????????????????????
Deze opmerking is gemaakt door de moderator op de site
Hallo, gopi,
Om de lege cellen te vermijden, past u de volgende VBA-code toe:
SubkleurBedrijfDuplicates()
'Bijwerken door' Extendoffice 20171222
Dim xRg als bereik
Dim xTxt als string
Dim xCell als bereik
Dim xChar als tekenreeks
Dim xCellPre als bereik
Dim xCIndex zo lang
Dim xCol als collectie
Dim ik zo lang
On Error Resume Next
Als ActiveWindow.RangeSelection.Count> 1 Dan
xTxt = ActiveWindow.RangeSelection.AddressLocal
Anders
xTxt = ActiveSheet.UsedRange.AddressLocal
End If
Set xRg = Application.InputBox ("selecteer het gegevensbereik:", "Kutools for Excel", xTxt, , , , , 8)
Als xRg niets is, sluit dan Sub af
xCIndex = 2
Stel xCol = Nieuwe collectie in
Voor elke xCell In xRg
On Error Resume Next
Als xCell.Value <> "" Dan
xCol.Toevoegen xCell, xCell.Text
Als Err.Number = 457 Dan
xCIndex = xCIndex + 1
Stel xCellPre = xCol(xCell.Text) in
Als xCellPre.Interior.ColorIndex = xlNone Dan xCellPre.Interior.ColorIndex = xCIndex
xCell.Interior.ColorIndex = xCellPre.Interior.ColorIndex
ElseIf Err.Number = 9 Dan
MsgBox "Te veel dubbele bedrijven!", vbCritical, "Kutools for Excel"
Exit Sub
End If
On Error GoTo 0
End If
Volgende
End Sub

Ik hoop dat het je kan helpen, bedankt!
Deze opmerking is gemaakt door de moderator op de site
Sir,
Hoe kunnen verschillende kleuren in de gegevens worden onderscheiden op basis van frequentie?
In zeer grote gegevens is herhaaldelijk dezelfde kleur gegeven zonder rekening te houden met hun frequentie.
Deze opmerking is gemaakt door de moderator op de site
Sorry, kunt u meer gedetailleerde informatie geven, u kunt hier een screenshot bijvoegen.
Dank je!
Deze opmerking is gemaakt door de moderator op de site
Hallo, ik heb Excel 2016, alt+F11 werkt niet meer om Microsoft VB te openen? is Microsoft Visual Basic gratis software? Dank u.
Deze opmerking is gemaakt door de moderator op de site
Hoi,
Als u het Microsoft VB-venster niet kunt activeren door Alt + F11 ingedrukt te houden, kunt u op Ontwikkelaar > Visual Basic klikken om het te openen.

Probeer het alsjeblieft, bedankt!
Deze opmerking is gemaakt door de moderator op de site
Wat Als ik slechts twee kleuren wil vullen, laten we zeggen geel en rood, herhaaldelijk. Voor alle duidelijkheid: in het voorbeeld op deze pagina is 'Rachel' geel, Rose is rood en weer zijn Sussies geel, Tedi is rood.
Deze opmerking is gemaakt door de moderator op de site
Hallo, Selim,
De volgende code kan uw probleem oplossen, probeer het alstublieft.

SubkleurBedrijfDuplicates()
'Bijwerken door' Extendoffice 20170504
Dim xRg als bereik
Dim xTxt als string
Dim xCell als bereik
Dim xChar als tekenreeks
Dim xCellPre als bereik
Dim xRgTemp als bereik
Dim xCIndex zo lang
Dim xCol als collectie
Dim ik zo lang
On Error Resume Next
Als ActiveWindow.RangeSelection.Count> 1 Dan
xTxt = ActiveWindow.RangeSelection.AddressLocal
Anders
xTxt = ActiveSheet.UsedRange.AddressLocal
End If
Set xRg = Application.InputBox ("selecteer het gegevensbereik:", "Kutools for Excel", xTxt, , , , , 8)
Als xRg niets is, sluit dan Sub af
xCIndex = 3
Stel xCol = Nieuwe collectie in
Voor elke xCell In xRg
On Error Resume Next
xCol.Toevoegen xCell, xCell.Text
Als Err.Number = 457 Dan
Stel xCellPre = xCol(xCell.Text) in
xCell.Interior.ColorIndex = xCellPre.Interior.ColorIndex
ElseIf Err.Number = 9 Dan
MsgBox "Te veel dubbele bedrijven!", vbCritical, "Kutools for Excel"
Exit Sub
Anders
xCell.Interior.ColorIndex = xCIndex
Stel xRgTemp = xCell in
xCIndex = IIf(xRgTemp.Interior.ColorIndex = 3, 4, 3)
End If
On Error GoTo 0
Volgende
End Sub

Hoop dat het je kan helpen!
Deze opmerking is gemaakt door de moderator op de site
Dit is wat ik precies wil. Dank je wel, Skyyang.
Deze opmerking is gemaakt door de moderator op de site
Is er een manier om de hele rij te markeren in plaats van 1 kolom?
Deze opmerking is gemaakt door de moderator op de site
Hallo, Bobo,
Om de hele rij te markeren op basis van de dubbele celwaarden, kunt u de volgende VBA-code toepassen:

SubkleurBedrijfDuplicates()
Dim xRg als bereik
Dim xTxt als string
Dim xCell als bereik
Dim xChar als tekenreeks
Dim xCellPre als bereik
Dim xCIndex zo lang
Dim xCol als collectie
Dim ik zo lang
On Error Resume Next
Als ActiveWindow.RangeSelection.Count> 1 Dan
xTxt = ActiveWindow.RangeSelection.AddressLocal
Anders
xTxt = ActiveSheet.UsedRange.AddressLocal
End If
Set xRg = Application.InputBox ("selecteer het gegevensbereik:", "Kutools for Excel", xTxt, , , , , 8)
Als xRg niets is, sluit dan Sub af
xCIndex = 2
Stel xCol = Nieuwe collectie in
Voor elke xCell In xRg
On Error Resume Next
xCol.Toevoegen xCell, xCell.Text
Als Err.Number = 457 Dan
xCIndex = xCIndex + 1
Stel xCellPre = xCol(xCell.Text) in
Als xCellPre.Interior.ColorIndex = xlNone Dan xCellPre.EntireRow.Interior.ColorIndex = xCIndex
xCell.EntireRow.Interior.ColorIndex = xCellPre.EntireRow.Interior.ColorIndex
ElseIf Err.Number = 9 Dan
MsgBox "Te veel dubbele bedrijven!", vbCritical, "Kutools for Excel"
Exit Sub
End If
On Error GoTo 0
Volgende
End Sub

Probeer het alsjeblieft, ik hoop dat het je kan helpen!
Deze opmerking is gemaakt door de moderator op de site
hoe kan ik het bereik van rijen markeren?
Deze opmerking is gemaakt door de moderator op de site
Hallo, Hossein,
Misschien kan de volgende code u een plezier doen, probeer het alstublieft.

SubkleurBedrijfDuplicates()
'Bijwerken door' Extendoffice
Dim xRg, xRgRij als bereik
Dim xTxt, xStr als tekenreeks
Dim xCell, xCellPre als bereik
Dim xCIndex zo lang
Dim xCol als collectie
Dim ik zo lang
Als ActiveWindow.RangeSelection.Count> 1 Dan
xTxt = ActiveWindow.RangeSelection.AddressLocal
Anders
xTxt = ActiveSheet.UsedRange.AddressLocal
End If
Set xRg = Application.InputBox ("selecteer het gegevensbereik:", "Kutools for Excel", xTxt, , , , , 8)
Als xRg niets is, sluit dan Sub af
xCIndex = 2
Stel xCol = Nieuwe collectie in
Voor I = 1 Tot xRg.Rows.Count
On Error Resume Next
Stel xRgRij = xRg.Rijen(I) in
Voor elke xCell in xRgRow.Columns
xStr = xStr & xCell.Text
Volgende
xKol.Toevoegen xRgRow, xStr
Als Err.Number = 457 Dan
xCIndex = xCIndex + 1
Stel xCellPre = xCol(xStr) in
Als xCellPre.Interior.ColorIndex = xlNone Dan xCellPre.Interior.ColorIndex = xCIndex
xRgRow.Interior.ColorIndex = xCellPre.Interior.ColorIndex
ElseIf Err.Number = 9 Dan
MsgBox "Te veel dubbele bedrijven!", vbCritical, "Kutools for Excel"
Exit Sub
End If
On Error GoTo 0
xStr = ""
Volgende
End Sub
Deze opmerking is gemaakt door de moderator op de site
Geweldig!! Dit heeft mij erg geholpen!
En als ik de singles ook moet markeren? Hoe kan ik dat doen?
Deze opmerking is gemaakt door de moderator op de site
Hallo, Carla

Om de rijen, inclusief de unieke, te markeren, past u de onderstaande VBA-code toe:
Sub ColorCompanyDuplicates()
'Updateby Extendoffice
Dim xRg, xRgRow As Range
Dim xTxt, xStr As String
Dim xCell, xCellPre As Range
Dim xCIndex As Long
Dim xCol As Collection
Dim xOnlyIndex
Dim I As Long
If ActiveWindow.RangeSelection.Count > 1 Then
    xTxt = ActiveWindow.RangeSelection.AddressLocal
Else
    xTxt = ActiveSheet.UsedRange.AddressLocal
End If
Set xRg = Application.InputBox("please select the data range:", "Kutools for Excel", xTxt, , , , , 8)
If xRg Is Nothing Then Exit Sub
xCIndex = 2
Set xCol = New Collection
For I = 1 To xRg.Rows.Count
    On Error Resume Next
    Set xRgRow = xRg.Rows(I)
    For Each xCell In xRgRow.Columns
        xStr = xStr & xCell.Text
    Next
    xCol.Add xRgRow, xStr
    If err.Number = 457 Then
        xCIndex = xCIndex + 1
        Set xCellPre = xCol(xStr)
        If xCellPre.Interior.ColorIndex = xlNone Then
            xCellPre.Interior.ColorIndex = xCIndex
        Else            
        End If
        xRgRow.Interior.ColorIndex = xCellPre.Interior.ColorIndex
    ElseIf err.Number = 9 Then
        MsgBox "Too many duplicate companies!", vbCritical, "Kutools for Excel"
        Exit Sub
    End If    
    On Error GoTo 0
    xStr = ""
Next
For Each xCellPre In xCol
    If xCellPre.Interior.ColorIndex = xlNone Then
        xCIndex = xCIndex + 1
        xCellPre.Interior.ColorIndex = xCIndex
    End If
Next
End Sub

Probeer het alsjeblieft, ik hoop dat het je kan helpen!
Deze opmerking is gemaakt door de moderator op de site
Ja skyyang! Jij rockt!
Kunnen we de hele rij markeren in plaats van alleen de kolom?

Het spijt me als ik vervelend ben, maar je hebt me echt enorm geholpen!
Deze opmerking is gemaakt door de moderator op de site
Hallo, Caria,
Als u de hele rijen wilt markeren, hoeft u alleen het hele rijbereik te selecteren bij het selecteren van het gegevensbereik in het uitgeklapte dialoogvenster.
Probeer het alsjeblieft, bedankt!
Deze opmerking is gemaakt door de moderator op de site
Sorry, ik kan niet
Ik denk dat het niet correct is omdat de code in de kolom werkt en wanneer ik de rijen selecteer, worden ze gemarkeerd, maar volgen ze niet het vorige criterium.

De code die je eerder deelde, alleen voor duplicaten, werkt perfect.
Deze opmerking is gemaakt door de moderator op de site
Is er een manier om het script te wijzigen om te werken voor (kijk naar) tabelarray in plaats van kolom? Bijvoorbeeld F2:BC117.
Dank je!
Deze opmerking is gemaakt door de moderator op de site
Hallo, Vasil,
Probeer de volgende vba-code om dubbele waarden in een celbereik te markeren:

SubkleurBedrijfDuplicates()
'Bijwerken door' Extendoffice
Dim xRg, xRgRij als bereik
Dim xTxt, xStr als tekenreeks
Dim xCell, xCellPre als bereik
Dim xCIndex zo lang
Dim xCol als collectie
Dim ik zo lang
Als ActiveWindow.RangeSelection.Count> 1 Dan
xTxt = ActiveWindow.RangeSelection.AddressLocal
Anders
xTxt = ActiveSheet.UsedRange.AddressLocal
End If
Set xRg = Application.InputBox ("selecteer het gegevensbereik:", "Kutools for Excel", xTxt, , , , , 8)
Als xRg niets is, sluit dan Sub af
xCIndex = 2
Stel xCol = Nieuwe collectie in
Voor I = 1 Tot xRg.Rows.Count
On Error Resume Next
Stel xRgRij = xRg.Rijen(I) in
Voor elke xCell in xRgRow.Columns
xStr = xStr & xCell.Text
Volgende
xKol.Toevoegen xRgRow, xStr
Als Err.Number = 457 Dan
xCIndex = xCIndex + 1
Stel xCellPre = xCol(xStr) in
Als xCellPre.Interior.ColorIndex = xlNone Dan xCellPre.Interior.ColorIndex = xCIndex
xRgRow.Interior.ColorIndex = xCellPre.Interior.ColorIndex
ElseIf Err.Number = 9 Dan
MsgBox "Te veel dubbele bedrijven!", vbCritical, "Kutools for Excel"
Exit Sub
End If
On Error GoTo 0
xStr = ""
Volgende
End Sub

Hoop dat het je kan helpen.
Deze opmerking is gemaakt door de moderator op de site
Ik ben nieuw in VBA. Is er een manier dat we de macro niet steeds opnieuw hoeven uit te voeren, het is geautomatiseerd om te markeren, zelfs als nieuwe cellen worden gekopieerd naar de kolom waar de macro is geprogrammeerd?
Deze opmerking is gemaakt door de moderator op de site
Dit is echt geweldig, maar het kleuren stopte na rij 66 (9 kleuren). Hoe kan ik dit verlengen?
Deze opmerking is gemaakt door de moderator op de site
Hallo, Anri,
De bovenstaande code werkt goed in mijn werkblad, ik test het in 300 honderd rijen.
Probeer het opnieuw. Of u kunt uw werkmapbestand naar mijn e-mailaccount sturen.
Mijn e-mailaccount is: skyyang@extendoffice.com
Deze opmerking is gemaakt door de moderator op de site
er is een fout gemaakt met betrekking tot de kleurindex-instelling, xCindex zal meer dan 56 zijn als er 56 rijgegevens in uw blad zijn, het systeem negeert de zin:
Als xCellPre.Interior.ColorIndex = xlNone Dan xCellPre.Interior.ColorIndex = xCIndex
xCell.Interior.ColorIndex = xCellPre.Interior.ColorIndex
Ik corrigeer het programma zoals hieronder: \
als Err.nummer=457 dan
if xCellPre.Text<>xCell.Text Dan
xCindex=xCindex+1
endif
set.....
Deze opmerking is gemaakt door de moderator op de site
Hallo,
mijn Excel-blad heeft 11000 rij met gegevens.
hoe kan ik het uitbreiden om al het duplicaat in die lange kolom te markeren.

het stopte bij rij 77.

Hartelijk dank,

AK
Deze opmerking is gemaakt door de moderator op de site
Dit is echt geweldig, maar het kleuren stopte na toer 76 (5 kleuren). Hoe kan ik dit ook verlengen?
Deze opmerking is gemaakt door de moderator op de site
Mijn spreadsheet stopte ook met kleuren bij 178 en ik heb meer dan 400 regels. Hoe los je dit op?
Deze opmerking is gemaakt door de moderator op de site
Hallo, Carola,
Zou je je werkboek naar mijn e-mailadres kunnen sturen, misschien kan ik je helpen het probleem te vinden.
Mijn e-mailadres is :skyyang@extendoffice.com
Er zijn nog geen reacties geplaatst
Laad meer

Volg ons

Copyright © 2009 - www.extendoffice.com. | Alle rechten voorbehouden. Aangedreven door ExtendOffice. | Sitemap
Microsoft en het Office-logo zijn handelsmerken of gedeponeerde handelsmerken van Microsoft Corporation in de Verenigde Staten en / of andere landen.
Beschermd door Sectigo SSL