Excel Macro

Robert Ford
Elite Poster
Elite Poster
Berichten: 1398
Lid geworden op: 12 Nov 2005
Bedankt: 92 keer
Recent bedankt: 1 keer
Uitgedeelde bedankjes: 97 keer

Excel Macro

Berichtdoor Robert Ford » 1 week 5 dagen 4 uur geleden (14 Mei 2019, 17:02)

Ik heb geen kaas gegeten van programmeren of Excel macro's. Maar deze keer heb ik er toch eentje nodig :(

Uit een bepaald CRM pakket genereer ik een export met adresgegevens. Het probleem is dat de postcode voor Nederlandse adressen verkeerd is opgebouwd. In het CRM pakket kan ik jammer genoeg niks aanpassen aan de exportmogelijkheden. Ik had graag een vaste macro in Excel om deze manipulatie te kunnen herhalen.

Capture - Copy.JPG


In principe zou de AT dije bij de postcode hoort, in kolom E moeten staan --> "4586 AT"

Ik zou een macro willen schrijven in Excel die:

Indien er in kolom G "Nederland" of "Netherlands" staat, de eerste 2 karakters wegneemt uit kolom F en in kolom E van dezelfde rij er terug bij plakt achteraan.


Kan iemand me hiermee op weg helpen?

Alvast bedankt!

Maglor
Elite Poster
Elite Poster
Berichten: 2032
Lid geworden op: 06 Dec 2004
Bedankt: 54 keer
Recent bedankt: 1 keer
Uitgedeelde bedankjes: 137 keer

Re: Excel Macro

Berichtdoor Maglor » 1 week 5 dagen 3 uur geleden (14 Mei 2019, 18:06)

OK. Dit moet wel lukken.

Als je wilt dat de macro beschikbaar is voor elk document dat je opent, doe als volgt.

  • Open een willekeurig Excel document.
  • Ga naar 'ONTWIKKELAARS' (of 'DEVELOPERS')
  • Klik op 'Macro opnemen'
  • Kies 'Macro opslaan in Persoonlijke macrowerkmap' en klik 'OK'
  • Klik op 'Opname stoppen'
  • ALT+F11
  • In het scherm dat verschijnt zie je in het project venster links normaal twee VBAProjecten. Open die waarnaast PERSONAL.XLSB staat. Open de modules folder. Dubbelklik op Module1.
  • In het venster rechts wis je alles water staat en je plakt het volgende erin:

Code: Selecteer alles

Sub PostcodeAanpassen()
    Dim cell As Range
   
    For Each cell In ActiveSheet.Range("G2", ActiveSheet.Range("G2").End(xlDown))
        If cell.Value = "Nederland" Or cell.Value = "Netherlands" Then
            cell.Offset(0, -2).Value = cell.Offset(0, -2).Value & " " & Left(cell.Offset(0, -1).Value, 2)
            cell.Offset(0, -1).Value = Mid(cell.Offset(0, -1).Value, 4, Len(cell.Offset(0, -1).Value))
        End If
    Next
   
End Sub


Deze code gaat er van uit dat het land steeds in de kolom G staat en de postcode en gemeente steeds in de twee kolommen ervoor. Hij stopt ook op het moment dat hij in kolom G een lege cel tegen komt.

  • Sluit het VBA venster af.
  • Sluit Excel af en antwoord bevestigend op de vraag of je je persoonlijke macrowerkmap wilt opslaan.

Om de code nu uit te voeren (in eender welk Excel document)
  • Ga naar ONTWIKKELAARS
  • Klik op 'Macro's'
  • Selecteer je Macro uit de lijst en klik op 'Uitvoeren'.

TIP: Indien je wenst kan je een shortcut aan je macro koppelen. Selecteer je Macro, klik op 'Opties' en kies een toets voor je shortcut.
There are 10 types of people in the world: those who understand binary, and those who don't.

Gebruikersavatar
heist_175
Elite Poster
Elite Poster
Berichten: 6923
Lid geworden op: 07 Okt 2010
Locatie: Kempen
Bedankt: 514 keer
Recent bedankt: 8 keer
Uitgedeelde bedankjes: 329 keer

Re: Excel Macro

Berichtdoor heist_175 » 1 week 5 dagen 1 uur geleden (14 Mei 2019, 19:50)

Waarom zou je dat met een macro willen doen?

Formules werken veel sneller en maken uw document niet onbruikbaar om te verzenden (macro-excels worden vaak geblokkeerd door allerhande mailfilters)
- voeg een kolom toe tussen E en F -> laten we ze hier ff "X" noemen
- voeg een kolom toe tussen F en G -> laten we ze hier ff "Y" noemen

X2: =concatenate(E2;" ";mid(F2;1;2))
Y2: =mid(F2;4;99)

Robert Ford
Elite Poster
Elite Poster
Berichten: 1398
Lid geworden op: 12 Nov 2005
Bedankt: 92 keer
Recent bedankt: 1 keer
Uitgedeelde bedankjes: 97 keer

Re: Excel Macro

Berichtdoor Robert Ford » 1 week 1 dag 7 uur geleden (18 Mei 2019, 14:10)

Maglor schreef:OK. Dit moet wel lukken.


Perfect thanks!


Terug naar “Windows”

Wie is er online

Gebruikers op dit forum: Geen geregistreerde gebruikers en 0 gasten