Ak chcete zistiť duplicitný riadok s viacerými záznamami pre rovnakú osobu a chcete zistiť duplicitné záznamy, tento článok by vám nemal ujsť. Poskytneme kód makra, ktorý vám pomôže identifikovať duplicitné riadky. V tomto článku sa naučíme, ako nájsť duplicitné riadky podľa konkrétneho stĺpca.
Otázka: Mám pre ľudí tabuľku s viacerými záznamami s časovou pečiatkou. Títo ľudia môžu vstupovať alebo vystupovať na viacerých miestach súčasne. Pokúšate sa napísať vzorec alebo makro (nie ste si istí, ktorý cieľ v tomto prípade dosahuje najlepšie), ktorý vyhľadá údaje a zvýrazní červenými čiarami časy, ktoré sa pre konkrétnu osobu prekrývajú. Je to možné a môže s tým niekto pomôcť? Veľká vďaka.
Pôvodnú otázku nájdete tu
Nasleduje prehľad predchádzajúceho listu:
Nasleduje snímka po hárku:
Ak chcete získať kód; na spustenie obrazovky editora programu Visual Basic musíme postupovať podľa nižšie uvedených krokov
- Kliknite na kartu Vývojár
- V skupine Kód vyberte položku Visual Basic
- Skopírujte nižšie uvedený kód do štandardného modulu
Sub FindOverlapTime () Dim rng As Range, cell As Range, trng As Range, tcell As Range Dim lr As Long lr = Cells (Rows.Count, "A"). End (xlUp). Row Range ("A2: H" & lr) .Interior.ColorIndex = xlNone Set rng = Range ("C2: C" & lr) For each cell In rng If Application.CountIf (Range ("C2", cell), cell.Value)> 1 Then Set trng = Rozsah ("F2: F" & cell.Row - 1) Pre každú tcell v trng If tcell.Offset (0, -3) = cell Then If (cell.Offset (0, 3)> = tcell And cell.Offset (0, 3) = tcell And cell.Offset (0, 4) <= tcell.Offset (0, 1)) Then Range ("A" & cell.Row & ": H" & cell.Row) .Interior. ColorIndex = 3 End If End If Next tcell End If If next cell End Sub
- Keď spustíme makro, dostaneme výsledok; pozrite sa na nižšie uvedenú snímku:
Vysvetlenie kódu:
- Deklarujte rozsah rng, cell, trng, tcell ako rozsah
- Lr tak dlho
- lr = Bunky (riadky. počet, „A“). Koniec (xlUp). Riadok skontroluje posledný riadok aktuálneho hárka.
- Rozsah ("A2: H" & lr) .Interior.ColorIndex = xlNone; tým sa vyberie rozsah od bunky A2 do stĺpca H až po posledný riadok (v našom prípade bude zvolený formát A2: H5) a zaistí sa, že nebude vyplnená žiadna farba.
- Nastaviť rng = rozsah ("C2: C" & lr); stĺpec C (ID profilov) bude uložený v rng
- Pre každú bunku v rng; teraz spustíme Pre každú slučku v rng, tj stĺpci C
- Ak je Application.CountIf (rozsah („C2“, bunka), cell.Value)> 1 Potom; toto skontroluje, koľkokrát je hodnota bunky väčšia ako 1; ak je zistený väčší ako 1, potom
- Nastaviť trng = rozsah ("F2: F" & cell.Row - 1); teraz nastavíme stĺpec F t.j. IN čas v trng
- Ďalej spustíme Pre každú slučku v trng a skontrolujeme, či existuje nejaký duplicitný riadok, a ak ho nájdeme, zvýrazníme ho červenou farbou.
Záver: Týmto spôsobom môžeme pomocou kódu makra nájsť duplicitné hodnoty a neskôr ich odstrániť.
Ak sa vám páčili naše blogy, zdieľajte ich so svojimi priateľmi na Facebooku. A tiež nás môžete sledovať na Twitteri a Facebooku.
Radi by sme vás počuli, dajte nám vedieť, ako môžeme zlepšiť, doplniť alebo inovovať našu prácu a zlepšiť ju pre vás. Napíšte nám na emailovú stránku