Identificarea rândurilor identice dintr-un tabel


Să considerăm un tabel cu r rânduri și c coloane. Se dorește identificarea rândurilor identice și semnalizarea, pe o coloană separată a listei de rânduri cu informații identice, ca în exemplul:

randuri identice

Pentru aceasta, am definit funcția dubluri(rand, tabel)
Funcția are două argumente de tip Range(zona de date)
Primul argument este rândul din tabel pentru care faceți analiza (de exemplu: C3:F3), cu adrese relative.
Al doilea argument este tot de tip Range dar, pentru el, selectați tot tabelul, cu referințe absolute (în cazul exemplului din fișier: $C$3:$F$7)

Pentru a o utiliza, deschideți editorul VBA, inserați un nou modul în care copiați codul funcției(de la option base 1 până la end function, inclusiv).
Funcția va fi plasată în categoria User Defined în cazul în care veți dori să o utilizați cu opțiunea Insert Function (butonul fx).

Option Base 1

Function dubluri(rng As Range, myregion As Range)

‘Diana Tanase MCT officetraining.ro
‘pentru primul argument selectati randul curent pentru al doilea argument selectati toate randurile tabelului cu adrese absolute


Dim i, j As Long
Dim k As String
Dim comp As String, nr As String

c = rng.Columns.Count
r = myregion.Rows.Count

k = “”

For i = 1 To r

nr = “”
comp = “”

For j = 1 To c
nr = nr & “-” & rng(1, j)
comp = comp & “-” & myregion(i, j)
Next

If nr = comp Then k = k & ” ” & i

Next

dubluri = k

End Function