Izdzēsiet ierakstu dublikātus, izmantojot Microsoft Excel VBA

Anonim

Šajā rakstā mēs izveidosim makro, lai no datiem noņemtu dublētus ierakstus.

Neapstrādāti dati sastāv no darbinieku datiem, kas ietver vārdu, vecumu un dzimumu.

Loģisks skaidrojums

Mēs esam izveidojuši makro “RemovingDuplicate”, lai no datiem noņemtu dublētus ierakstus. Šis makro vispirms iegūst datus secībā un pēc tam salīdzina divu secīgu rindu vērtības, lai noskaidrotu ierakstu dublikātus.

Koda skaidrojums

ActiveSheet.Sort.SortFields.Clear

Iepriekš minēto kodu izmanto, lai noņemtu jebkādu iepriekšējo datu šķirošanu.

ActiveSheet.Sort.SortFields.Add atslēga: = Diapazons (Selection.Address), _

SortOn: = xlSortOnValues, secība: = xlAscending, DataOption: = xlSortTextAsNumbers

Iepriekš minēto kodu izmanto, lai sakārtotu datus pirmajā slejā augošā secībā.

Attiecībā uz i = ActiveSheet.Cells (Rows.Count, Selection.Column). End (xlUp). Rinda uz atlasi. Rinda + 1 1. darbība

Iepriekš minētais kods tiek izmantots, lai lietotu reverso cilpu, sākot no pēdējās rindas līdz atlasītajai rindai.

ActiveSheet. Rindas (i). Dzēst maiņu: = xlUp

Iepriekš minēto kodu izmanto, lai izdzēstu rindu un pārvietotu kursoru uz augšējo rindu.

Lūdzu, sekojiet tālāk norādītajam kodam

 Opcija Explicit Sub RemovingDuplicate () 'Deklarējošie mainīgie Dim i As Long' Ekrāna atjauninājumu atspējošana Application.ScreenUpdating = False Range ("A11"). Atlasiet ActiveSheet.Sort.SortFields.Clear 'Datu kārtošana augošā secībā ActiveSheet.Sort.SortFields.Add Atslēga: = Range (Selection.Address), _ SortOn: = xlSortOnValues, Order: = xlAscending, DataOption: = xlSortTextAsNumbers With ActiveSheet.Sort .SetRange Range (Selection.Offset (1, 0), ActiveSheet.Cells, Rows.Count, Selection.End (xlToRight). Kolonna). End (xlUp)). Virsraksts = xlNo .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Piemērot beigas ar 'Cilpu cauri visām šūnām i = ActiveSheet.Cells Count, Selection.Column). End (xlUp). Row To Selection.Row + 1 Solis -1 'Divu blakus esošo šūnu vērtības salīdzinājums dublētiem ierakstiem If ActiveSheet.Cells (i, Selection.Column) .Value = ActiveSheet.Cells ( (i - 1), Selection.Column). Vērtība Tad 'Dzēst ieraksta dublikātu ActiveSheet.Rows (i). Dzēst maiņu: = xlUp End If Next i' Iespējošanas ekrāns uz augšu datumi Application.ScreenUpdating = True End Sub 

Ja jums patika šis emuārs, kopīgojiet to ar saviem draugiem Facebook. Varat arī sekot mums Twitter un Facebook.

Mēs labprāt uzklausītu jūsu viedokli, dariet mums zināmu, kā mēs varam uzlabot savu darbu un padarīt to labāku jums. Rakstiet mums e -pasta vietnē