Identificiranje dvostrukih vremenskih okvira

Anonim

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