Ako želite saznati dvostruki redak koji ima više unosa za istu osobu i želite saznati dvostruke unose, ne biste trebali propustiti ovaj članak. Dostavit ćemo makro kôd koji će vam pomoći u identificiranju dupliciranih redaka. U ovom ćemo članku naučiti kako pronaći duplicirane retke na temelju određenog stupca.
Pitanje: Imam proračunsku tablicu s više unosa s vremenskim žigom za ljude. Ti ljudi mogu ulaziti ili izlaziti na nekoliko mjesta istovremeno. Pokušaj pisanja formule ili makronaredbe (nisam siguran koji u ovom slučaju najbolje postiže cilj) koji će pretraživati podatke i crvenim linijama označavati vremena koja se preklapaju za određenu osobu. Je li to moguće i može li netko pomoći? Puno hvala.
Izvorno pitanje možete pronaći ovdje
Slijedi snimak lista prije:
Slijedi snimak zaostalog lista:
Da biste dobili kod; moramo slijediti korake u nastavku za pokretanje zaslona uređivača Visual Basic
- Kliknite karticu Developer
- Iz grupe kodova odaberite Visual Basic
- Kopirajte donji kod u standardni modul
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) Za svaku ćeliju U rng If Application.CountIf (Raspon ("C2", ćelija), cell.Value)> 1 Zatim postavite trng = Raspon ("F2: F" & ćelija. Red - 1) Za svaku ćeliju U trngu Ako je tcell.Offset (0, -3) = ćelija Tada je 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) .Interijer. ColorIndex = 3 End If End If Next tcell End Ako sljedeća ćelija End Sub
- Dok pokrenemo makro, dobit ćemo rezultat; pogledajte donju snimku:
Objašnjenje koda:
- Proglasite rng, cell, trng, tcell kao raspon
- Lr koliko god
- lr = ćelije (Rows.Count, "A"). End (xlUp) .Row će provjeriti zadnji redak trenutnog lista.
- Raspon ("A2: H" & lr). Unutrašnjost.Indeks boje = xlNone; ovo će odabrati raspon počevši od stupca A2 do stupca H do posljednjeg retka (A2: H5 bit će odabran u našem primjeru) i osigurat će da nije ispunjena boja.
- Postavite rng = Raspon ("C2: C" & lr); stupac C (Profili ID) bit će pohranjen u rng
- Za svaku ćeliju U rng; sada ćemo pokrenuti Za svaku petlju u rng tj. stupac C
- Ako je Application.CountIf (Raspon ("C2", ćelija), ćelija.Vrijednost)> 1 Zatim; ovo će provjeriti koliko je puta vrijednost ćelije veća od 1; ako se utvrdi da je veći od 1, tada
- Postavi trng = Raspon ("F2: F" & ćelija. Red - 1); sada ćemo postaviti stupac F tj. IN vrijeme u trng
- Sljedeći ćemo pokrenuti For Each Loop u trngu i provjeriti postoji li duplikat retka te ga označiti crvenom bojom ako ga nađemo.
Zaključak: Na taj način pomoću makro koda možemo pronaći dvostruke vrijednosti i kasnije ih ukloniti.
Ako vam se sviđaju naši blogovi, podijelite ih sa svojim prijateljima na Facebooku. Također nas možete pratiti na Twitteru i Facebooku.
Voljeli bismo čuti vaše mišljenje, javite nam kako možemo poboljšati, nadopuniti ili inovirati svoj rad i učiniti ga boljim za vas. Pišite nam na web stranici e -pošte