Sub Namen()
Dim lRij As Long
Dim lLRij As Long
Dim rB As Range
Dim iPos As Integer
Dim sVN As String
Dim iBG As Integer
Dim iLng As Integer
Rows(1).Insert
lLRij = Range("A" & Rows.Count).End(xlUp).Row
With Range("B1:B" & lLRij)
.Replace " VAN ", " van "
.Replace " DE ", " de "
.Replace " DEN ", " den "
.Replace " DER ", " der "
End With
Range("C:E").Insert
lRij = 2
While lRij <= lLRij
Set rB = Range("B" & lRij)
iBG = InStr(1, rB, " ")
For iLng = iBG To Len(Range("B" & lRij).Value)
If Mid(rB, iLng, 1) Like "[A-Z]" Then
Range("C" & lRij).Value = WorksheetFunction.Proper(Mid(rB, iLng, Len(rB)))
If Mid(rB, 2, 1) <> "." Then
For iPos = 1 To iBG
sVN = sVN & Mid(rB, iPos, 1) & "."
Next
Range("D" & lRij).Value = Left(sVN, Len(sVN) - 1)
sVN = ""
Else
Range("D" & lRij).Value = Left(rB, iBG)
End If
Range("E" & lRij).Value = Mid(rB, iBG + 1, iLng - iBG - 1)
iLng = Len(rB)
End If
Next
lRij = lRij + 1
Application.StatusBar = "Rij " & lRij & " van " & lLRij
Wend
Range("H:H").Insert
Range("G1:G" & lLRij).Copy Range("H1")
With Range("G:G")
.Replace "Man", "Dhr."
.Replace "Vrouw", "Mevr."
End With
With Range("H:H")
.Replace "Man", "heer"
.Replace "Vrouw", "mevrouw"
.Replace "Fam.", "familie"
End With
Range("C:C").Copy Range("J:J")
For Each rB In Range("J2:J" & lLRij)
If InStr(1, rB.Value, " ") > 0 Then
rB.Value = Left(rB.Value, InStr(1, rB.Value, " ") - 1)
End If
If InStr(1, rB.Value, "-") > 0 Then
rB.Value = Left(rB.Value, InStr(1, rB.Value, "-") - 1)
End If
Next
Range("I1:J" & lRij).AdvancedFilter Action:=xlFilterInPlace, Unique:=True
Application.StatusBar = False
Dim rNaam As Range
Dim rAdres As Range
Set rNaam = Range("J2:J" & lLRij)
Set rAdres = Range("I2:I" & lLRij)
For Each rB In Range("I2:I" & lLRij).SpecialCells(xlCellTypeVisible)
sNaam = rB.Offset(0, 1).Value
sAdres = rB.Value
If Evaluate("SumProduct(((" & rAdres.Address & ") = """ & rB.Value & _
""") * " & "((" & rNaam.Address & ") = """ & rB.Offset(0, 1).Value & """) )") > 1 Then
rB.Offset(0, -1).Value = "familie"
End If
Next
Range("J:J").Clear
End Sub