Den moderne arbejdsplads er i stigende grad afhængig af mødelokaler til at fremme samarbejde, men dette skift medfører også stigende sikkerhedsudfordringer.
Husk at have en backup inden du kører makro Koden fjerner evt. dubletter
Sub Dubletter() ' i område Dim x, r As Double, c As Double, t, t2 Dim v(1000) 'x = Range("A1:J15") x = Application.InputBox(prompt:="Marker område dubletter skal fjernes fra: ", Type:=8) For c = 1 To UBound(x, 2) For r = 1 To UBound(x, 1) If x(r, c) <> "" Then t = t + 1: v(t) = x(r, c) Next Next
For t = 1 To UBound(v) If v(t) <> "" Then For t2 = t + 1 To UBound(v) If v(t) = v(t2) Then v(t2) = Empty End If Next End If Next Application.InputBox(prompt:="Marker kolonne hvor ny list skal skrives: ", Type:=8).Select For t = 1 To UBound(v) Cells(t, ActiveCell.Column) = v(t) Next On Error Resume Next Selection.Columns.SpecialCells(xlCellTypeBlanks).Rows.Delete Shift:=xlUp Range(ActiveCell, ActiveCell.End(xlDown)).Select If MsgBox("Skal liste sorteres", vbYesNo, "Fjern dubletter") = vbYes Then Selection.Sort Key1:=Range(ActiveCell.Address), Order1:=xlAscending End If ActiveCell.Select End Sub
Dim T_eNavn, T_fNavn, T_By Dim t_række Public Sub FindDubletter() Dim dub As Boolean For ræk = 2 To 65000 If ræk = 2 Then T_eNavn = Cells(ræk, 1) T_fNavn = Cells(ræk, 2) T_By = Cells(ræk, 4) t_række = 2 Else Rem Er sidste række behandlet nået If Cells(ræk, 1) = "" Then Exit For End If
dub = testDublet(ræk) If dub = True Then markerDub ræk, t_række End If
T_eNavn = Cells(ræk, 1) T_fNavn = Cells(ræk, 2) T_By = Cells(ræk, 4) t_række = ræk End If Next ræk
MsgBox ("Gennemløb afsluttet") End Sub Private Function testDublet(ræk) As Boolean Dim A_eNavn, A_fNavn, A_By, ens As Boolean testDublet = False Rem aktuelle data A_eNavn = Cells(ræk, 1) A_fNavn = Cells(ræk, 2) A_By = Cells(ræk, 4)
Rem Samme efteravn If A_eNavn = T_eNavn Then If A_fNavn = T_fNavn Then If A_By = T_By Then testDublet = True Exit Function End If End If End If
testDublet = False End Function Private Sub markerDub(ræk, t_række) Cells(t_række, 1).Interior.ColorIndex = 4 Cells(ræk, 1).Interior.ColorIndex = 6
Rem sæt "Dub" i kolonne N - for at kunne anvende filtrering Cells(t_række, 14) = "DUB" Cells(ræk, 14) = "DUB" End Sub
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.