Избришите дупле записе користећи ВБА у програму Мицрософт Екцел

Anonim

У овом чланку ћемо створити макро за уклањање дуплираних записа из података.

Сирови подаци се састоје од података о запосленима, који укључују име, старост и пол.

Логичко објашњење

Направили смо макро „РемовингДуплицате“ за уклањање дуплираних записа из података. Овај макро прво извлачи податке у низу, а затим врши поређење између вредности два узастопна реда како би открио дупле записе.

Објашњење кода

АцтивеСхеет.Сорт.СортФиелдс.Цлеар

Горњи код се користи за уклањање претходног сортирања података.

АцтивеСхеет.Сорт.СортФиелдс.Адд Кеи: = Распон (Селецтион.Аддресс), _

Сортирај: = клСортОнВалуес, Редослед: = клАсцендинг, ДатаОптион: = клСортТектАсНумберс

Горњи код се користи за сортирање података у првој колони по растућем редоследу.

За и = АцтивеСхеет.Целлс (Ровс.Цоунт, Селецтион.Цолумн) .Енд (клУп) .Ров То Селецтион.Ров + 1 Степ -1

Горњи код се користи за примену обрнутог петље, почевши од последњег реда до изабраног реда.

АцтивеСхеет.Ровс (и) .Делете схифт: = клУп

Горњи код се користи за брисање реда и померање курсора у горњи ред.

Молимо следите доле за код

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

Ако вам се допао овај блог, поделите га са пријатељима на Фацебооку. Такође, можете нас пратити на Твиттер -у и Фацебоок -у.

Волели бисмо да чујемо од вас, јавите нам како можемо побољшати наш рад и учинити га бољим за вас. Пишите нам на веб локацији е -поште