Beste helpers,
Ik hoop dat iemand mij kan helpen en dat ik het duidelijk genoeg verwoord.
Ik heb van deze geweldige site een macro gekopieerd waarmee ik achternamen uit een lijst kan splitsen naar meerder cellen, nu werkt deze prima zolang de invoer in kolom A staat, echter staan in mijn bestand de bewuste gegevens in kolom J.
Ik heb al geprobeerd om achter range de A te veranderen in J maar dit hielp helaas niets, zou het kunnen dat er elders in de macro nog een verwijzing staat waar ik overheen kijk?
Ik hoop dat iemand mij kan helpen en dat ik het duidelijk genoeg verwoord.
Ik heb van deze geweldige site een macro gekopieerd waarmee ik achternamen uit een lijst kan splitsen naar meerder cellen, nu werkt deze prima zolang de invoer in kolom A staat, echter staan in mijn bestand de bewuste gegevens in kolom J.
Ik heb al geprobeerd om achter range de A te veranderen in J maar dit hielp helaas niets, zou het kunnen dat er elders in de macro nog een verwijzing staat waar ik overheen kijk?
Code:
Sub AchternamenSplitsen()
'
' AchternamenSplitsen Macro
'
' Sneltoets: CTRL+SHIFT+M
'
Dim X As Integer, Y As Integer, RijTeller As Long, Spatie(10) As Integer, c As Range
Dim Voorvoegsel As String, Achternaam As String, Naam As String, Voornaam As String
Voorvoeg = MsgBox("Wilt u de voorvoegsels in een aparte kolom?", vbYesNo)
If Voorvoeg = vbNo Then
StopZoek = MsgBox("Wilt u de voorvoegsels (van der, v/d) naar de kolom van de achternamen meekopiëren?", vbYesNo)
End If
For Each c In Range("A1", Range("A1").Range("A" & Rows.Count).End(xlUp))
Naam = Replace(Trim(c.Value), " ", " ")
Y = 0
Spatie(1) = 0
For X = 1 To Len(Naam) ' Zoeken naar eerste spatie
If Mid(Naam, X, 1) = " " Then
Y = Y + 1
Spatie(Y) = X
If StopZoek = vbYes Then Exit For ' Voorvoegsels bij Achternaam.
End If
Next
If Spatie(1) <> 0 Then ' Spatie gevonden
If Voorvoeg = vbNo Then
If StopZoek = vbYes Then Y = 1
Voornaam = Mid(Naam, 1, Spatie(Y) - 1)
c = Voornaam
Achternaam = Mid(Naam, Spatie(Y) + 1)
c.Offset(, 1) = Achternaam
Else ' Voorvoegsels apart naar kolom C
Voornaam = Mid(Naam, 1, Spatie(1) - 1)
c = Voornaam
Achternaam = Mid(Naam, Spatie(Y) + 1)
c.Offset(, 1) = Achternaam
If Y > 1 Then
Voorvoegsel = Mid(Naam, Spatie(1), Spatie(Y) - Spatie(1) + 1)
c.Offset(, 2) = Trim(Voorvoegsel)
End If
End If
Else ' Naam naar kolom K
c = Naam
End If
Next
End Sub