• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

straat en woonplaats splitsen

Status
Niet open voor verdere reacties.

jelledasselaar

Gebruiker
Lid geworden
13 sep 2011
Berichten
120
beste mensen,

bestaat er een mogelijkheid de straat met huisnummer te splitsen van de postcode en woonplaats?
Voorbeeld: 1 cel: jan jansstraat 1, 1234 AA ABCOUDE
moet worden: 1e cel: jan jansstraat 1 en 2e cel 1234 AA ABCOUDE
Alvast hartelijk dank.
M.vr.gr.
Jelle
 
Dat kan eenvoudig met tekst naar kolommen en dan splitsen op de komma.
 
Betse Ed,

hartelijk dank voor de snelle reactie. het werkt inderdaad! is dit ook mogelijk als er geen komma tussen staat?
 
Dan zou je moeten splitsen op het teken dat er dan staat, maar als dat een spatie is heb je een probleem.
 
Wil je iets heel erg omslachtig proberen?
Er word vanuit gegaan dat de adressen in kolom B staan beginnend met B1
Dat kolommen C, D, E en F vrij te gebruiken zijn (leeg zijn)
Dat de splitsing gebeurd voor een 4 cijferig nummer (dit moet een 4 cijferig nummer zijn)

Hopelijk komt er iemand langs om het nette code te maken.
Er zijn hier veel intelligente mensen op dit forum (ik kan ze niet allemaal opnoemen want daar is niet genoeg plaats voor) die dat kunnen doen.
Ik ben n.l. niet zo'n intelligente Piet.
Als je er mee geholpen bent, fijn, als dat niet het geval is dan zal er iemand anders in moeten springen.


Code:
Sub test()
from http://www.ozgrid.com/forum/showthread.php?t=167546
    Dim r As Range, i As Long
    Application.ScreenUpdating = False
    With CreateObject("VBScript.RegExp")
        .Global = True
        .Pattern = "\b\d{4}\b"
        For Each r In Range("b1", Range("b" & Rows.Count).End(xlUp))
            If .test(r.Value) Then
                For i = 0 To .Execute(r.Value).Count - 1
                    r(, i + 5).Value = .Execute(r.Value)(i)
                Next
            End If
        Next
    End With
    For Each r In Range("B1", Range("B" & Rows.Count).End(xlUp)).Offset(, 3)
        r.Value = InStr(r.Offset(, -3).Value, r.Offset(, 1).Value)
    Next r
    For Each r In Range("B1:B" & Cells(Rows.Count, 2).End(xlUp).Row).Offset(, 2)
        With r
            .Formula = "=MID(RC[-2], RC[1],99)"
            .Value = .Value
            .Offset(, -1).Formula = "=LEFT(RC[-1],LEN(RC[-1])-LEN(RC[1]))"
            .Offset(, -1).Value = Trim(.Offset(, -1).Value)
        End With
    Next r
    For Each r In Range("C1:C" & Cells(Rows.Count, 3).End(xlUp).Row)
With r
If Right(c, 1) = "," Then .Value = Left(c, Len(c) - 1)
End With
Next r
Range(Cells(1, 5), Cells(1, 6)).EntireColumn.ClearContents
    Application.ScreenUpdating = True
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan