Vraag & Antwoord

Anders (software)

kix_code in excel

Anoniem
None
17 antwoorden
  • Zoals hopenlijk bekend is de kix_code de postkode met huisnummer aanelkaar, dus zonder spaties.

    in een macro staan vervolgens de opdrachten
    vervang spatie+1 met #1 en dat zo door t.m 9
    dan splitsing via tekst naar kolommen.
    voordat er samengevoegd kan worden met de postkode moet je
    dan de huisnummers doorlopen. is een huisnummer bv 9-11
    wordt dat altijd vertaald met 9-nov.

    is daar wat aan te doen?
  • Waar aan????
  • bv het adres is dorpstraat 9-11

    als je dat splitst door dat je eerst de spatie en de 1 vervangt door #1
    daarna splitst via tekst naar kolommen. dat je dan niet 9-nov krijgt maar
    9-11.

    9-nov is nu eenmaal geen huisnummer. en dus geen onderdeel van de kix_code, wat 9-11 wel is.
  • Dat is nu duidelijk, bedankt.

    Als je nu van de kolom, waarin 9-11 terecht komt eerst de celeigenschappen op "Tekst" zet?

    Klik rechts op de header van de kolom, klik op celeigenschappen, klik op tablad "Getal" en selecteer "Tekst". Nu wordt 9-11 niet meer 9 sep!
  • Dat zou logisch zijn, maar helaas dat trukje had ik ook al geprobeerd.
    Omdat ik er niet uitkom probeer ik hier een oplossing te vinden.
  • Google levert het volgende op: http://office.webforums.nl/forum/viewtopic.php?t=5205
  • Typ dan
    Code:
    ? fKIX_code("Eijkmanlaan 34 bis a","3567 AB")

    De KIX-code van dit adres is: 3567AB34XBISA

    1. de formulerijg ik niet werkend in excel
    2. in een kix_code komt er achter de postkode alleen een huisnummer
    geen toevoeging op het huisnummer.

    Opzich is dit forum best interessant.
  • Selecteer de kolom met daarin de straatnaam en het huisnummer.
    Kies voor Data Tekst naar kolommen
    Kies voor vaste breedte
    Kies voor volgende 2x
    Klik op de kolom met de huisnummers
    Klik gegevenstype tekst aan
    Voltooid

    Werkt dit voor je?
  • Doof helaas niet, als nu alle straatnamen dezelfde lengte hadden wel.

    Op de een of andere manier zit ik altijd te kl*ten met de celeigenschappen.

    voor mij mag alles standaard op tekst staan

    Is dat misschien aan te passen in een config bestand, en zo een
    oplossing geven voor dit probleem?
  • Selecteer de kolom met daarin de straatnaam en het huisnummer.
    Kies voor Data Tekst naar kolommen
    Kies voor gescheiden
    Kies voor volgende
    Kies voor spatie
    kies voor volgende
    Klik op de kolom met de huisnummers
    Klik gegevenstype tekst aan
    Voltooid

    Werkt dit voor je?
  • [quote:85e1d952f4="Droopy"]
    1. de formulerijg ik niet werkend in excel
    [/quote:85e1d952f4]
    Wat gaat er fout dan? Als je de straatnaam + nummer in 1 kolom hebt, dan krijg ik gewoon de KIX code terug, met de formule uit de link.
    [quote:85e1d952f4="Droopy"]
    2. in een kix_code komt er achter de postkode alleen een huisnummer
    geen toevoeging op het huisnummer.
    [/quote:85e1d952f4]
    Hmm, volgens de TPG ToolKIX tool komt de toevoeging wel achter het huisnummer te staan. In jouw voorbeeld dus: 3567ABXBISA

    Maar als ik het goed begrijp is jouw probleem iets anders.
    Jij hebt een bestand met adressen. Deze adressen splits je met behulp van een macro in verschillende kolommen voor straat, huisnummer, postcode enzovoort?
  • @Doof
    Ook dat werkt niet je gaat er dan vanuit de de straatnaam maar
    een lettergreep heeft en dat is helaas niet altijd waar.
    Bij de splitsing wordt huisnummer 9-11 9-nov omzetting naar tekst
    levert 38665 op niet bepaald het gevraagde huisnummer.


    @meneer ed
    e bedoeling is dat ik een kolom met huisnrs krijg die ik kan samenvoegen met de postcode tot de kix_code.
    Het is de bedoeling dat het in een macro komt.

    Met die kix_code is het zo dat de postcode+huisnr voldoende is voor de TPG

    En die Bis en hoog en ..e etage k124 en meer van dat soort dingen
    heeft de tpg er ook niet bij.

    tel de kix_code streepjes maar na (4 streepjes voor een teken)
  • Heb een functie gevonden op het Internet die je ervoor kan gebruiken.

    Stel: in cel A1 staat je straat+huisnummer
    plaats de volgende formule in cel A2 =MyExtract(A1;1;"b";" ") dan zal in cel A2 het huisnummer komen te staan.

    Verklaring functie:
    A1 is de celverwijzing
    1 is het eerste blok
    b is van achteren naar voren
    " " is de seperator.

    Code voor de functie:
    [code:1:00e1268f7b]Function Myextract(MyText As String, ItemNo As Integer, FrontOrBack As String, Optional MySeparator As String) As String

    ' This function will scan a string containing at least TWO words, each separated
    ' by a specified character and extract one of the words. It can extract the word
    ' (or SubString) counting from either the Back or Front of the text.
    ' [www.meadinkent.co.uk]
    Dim LenText As Integer, n As Integer, CountSpaces As Integer
    Dim MySt As Integer, MyFin As Integer, MyStep As Integer, Mk1 As Integer, Mk2 As Integer

    ' MySeparator was an optional parameter
    If Len(MySeparator) = 0 Then MySeparator = " "

    LenText = Len(MyText)
    ' You cannot extract a word if length is LT 3 chars
    If LenText < 3 Then
    Myextract = "*"
    GoTo MyEndBit
    End If

    ' set the direction in which the text is examined
    If UCase(FrontOrBack) = "F" Then
    MySt = 2
    MyFin = LenText - 1
    MyStep = 1
    Else
    MyFin = 2
    MySt = LenText - 1
    MyStep = -1
    End If

    ' identify the position of characters matching the separator
    For n = MySt To MyFin Step MyStep
    If Mid(MyText, n, 1) = MySeparator Then
    CountSpaces = CountSpaces + 1
    If CountSpaces = ItemNo - 1 Then Mk1 = n
    If CountSpaces = ItemNo Then Mk2 = n
    End If
    Next n

    If CountSpaces = 0 Then
    Myextract = "*"
    GoTo MyEndBit
    End If

    If UCase(FrontOrBack) = "B" Then
    n = Mk1
    Mk1 = Mk2
    Mk2 = n
    End If

    If Mk2 = 0 Then Mk2 = LenText + 1
    Mk1 = Mk1 + 1

    Myextract = Mid(MyText, Mk1, Mk2 - Mk1)
    MyEndBit:
    End Function
    [/code:1:00e1268f7b]
  • Misschein domme vraag Doof, is het de bedoeling dat die code ergens
    moet worden opgeslagen in excel zeg maar als macro voordat die
    opdracht gaat werken?
  • De code van een functie moet je zoals een macro opslaan. Daarna kan je deze functie grbuiken zoals iedere andere standaardfunctie.

    Je vindt de functie in de functiecategorie "Door gebruiker gedefinieerd", onder functienaam zie je dan "Myextract" staan.
  • Op dit moment is de code een declaratie geworden.

    de functie gebruikt in a2 levert #naam? op.

    waarschijnlijk niet juist weggeschreven?
  • Als je declaratie ziet staan ipv myextract in de VB editor dan heb je kode niet goed geplakt. Heb de code nogmaals getest, die is goed.
    Kopieer de kode
    In excel druk je op alt+f11 om de vb editor te openen
    klik op het vbaproject met de correcte mapnaam.
    Klik op invoegen -> module
    ctrl+v om de kode te plakken
    de functie moet nu beschikbaar zijn in je werkblad.

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.

Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord