Ако желите да сазнате дупликат реда који има више уноса за исту особу и желите да пронађете дупликате уноса, не бисте требали пропустити овај чланак. Пружићемо код макроа који ће вам помоћи да идентификујете дупле редове. У овом чланку ћемо научити како пронаћи дуплиране редове на основу одређене колоне.
Питање: Имам табелу са уносима са више временских ознака за људе. Ови људи могу да улазе или излазе на неколико места истовремено. Покушај писања формуле или макроа (нисам сигуран који у овом случају најбоље постиже циљ) који ће претраживати податке и црвеним линијама означавати времена која се преклапају за одређену особу. Да ли је то могуће и може ли неко помоћи? Много хвала.
Оригинално питање можете пронаћи овде
Следи снимак претходног листа:
Следи снимак заосталог листа:
Да бисте добили код; морамо да следимо доње кораке за покретање екрана за уређивање Висуал Басиц -а
- Кликните на картицу Девелопер
- Из групе кодова изаберите Висуал Басиц
- Копирајте доњи код у стандардни модул
Суб ФиндОверлапТиме () Дим рнг Ас Ранге, целл Ас Ранге, трнг Ас Ранге, тцелл Ас Ранге Дим лр Ас Лонг лр = Целлс (Ровс.Цоунт, "А"). Енд (клУп) .Ров Ранге ("А2: Х" & лр) .Интериор.ЦолорИндек = клНоне Сет рнг = Ранге ("Ц2: Ц" & лр) За сваку ћелију У рнг Иф Апплицатион.ЦоунтИф (Ранге ("Ц2", ћелија), целл.Валуе)> 1 Затим поставите трнг = Опсег ("Ф2: Ф" & ћелија. Ред - 1) За сваку ћелију У трнгу Иф тцелл.Оффсет (0, -3) = ћелија Онда Иф (целл.Оффсет (0, 3)> = тцелл И ћелија.Оффсет (0, 3) = тцелл Анд целл.Оффсет (0, 4) <= тцелл.Оффсет (0, 1)) Тхен Ранге ("А" & целл.Ров & ": Х" & целл.Ров) .Интериор. ЦолорИндек = 3 Енд Иф Енд Иф Нект тцелл Енд Иф Нект Нект Енд Суб
- Док покрећемо макро, добићемо резултат; погледајте доњи снимак:
Објашњење кода:
- Прогласите рнг, целл, трнг, тцелл као опсег
- Лр колико год
- лр = ћелије (Ровс.Цоунт, "А"). Енд (клУп) .Ров ће проверити последњи ред тренутног листа.
- Ранге ("А2: Х" & лр) .Интериор.ЦолорИндек = клНоне; ово ће изабрати опсег почевши од ћелије А2 до Х колоне до последњег реда (А2: Х5 ће бити изабрано у нашем примеру) и осигураће да боја није испуњена.
- Сет рнг = Ранге ("Ц2: Ц" & лр); колона Ц (Профили ИД) биће смештена у рнг
- За сваку ћелију У рнг; сада ћемо покренути За сваку петљу у рнг тј. колону Ц.
- Ако Апплицатион.ЦоунтИф (Опсег ("Ц2", ћелија), целл.Валуе)> 1 Затим; ово ће проверити колико је пута вредност ћелије већа од 1; ако се нађе више од 1, онда
- Сет трнг = Ранге ("Ф2: Ф" & целл.Ров - 1); сада ћемо поставити колону Ф тј. ИН време у трнг
- Следеће ћемо покренути за сваку петљу у трнгу и проверити има ли дупликата и означити га црвеном бојом ако га нађемо.
Закључак: На овај начин можемо пронаћи дупликате вредности помоћу кода макроа и касније их уклонити.
Ако вам се допадају наши блогови, поделите их са пријатељима на Фацебооку. Такође нас можете пратити на Твиттер -у и Фацебоок -у.
Волели бисмо да чујемо од вас, реците нам како можемо побољшати, допунити или иновирати наш рад и учинити га бољим за вас. Пишите нам на веб локацији е -поште