• 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.

Opzet postcode vergelijken

  • Onderwerp starter Onderwerp starter ABO01
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

ABO01

Gebruiker
Lid geworden
27 feb 2019
Berichten
82
In kolom A zijn de postcodes. In kolom B is opzet van de postcodes hoe het moet zijn (N is voor nummer en A is voor letter) en spatie moet ie ook mee vergelijken. In kolom C wil ik zien of postcode in kolom A goed is of niet goed.
 

Bijlagen

Oplossing met hulpkolommen
 

Bijlagen

wat wordt er bedoeld met [A] ?
en wat met [A/N] ?
misschien kun je in je eigen bestand aanvullen wat de uitkomst moet zijn.
 
JVeer,

Als ik iets verander in kolom A dan werkt formule niet meer? Krijg ik #NAME? in de cel
 
Hi Sylvester Ponten,

Ik heb Excel 2013. Is gewoon vergelijking van opzet van postcodes. Uitkomst zou moeten zijn Juist en/of Niet juist. File die JVeer heeft bijgewerkt is opzich wel goed. Maar zodar ik iets in kolom A verander dan werkt niks meer.
 
idee van Jveer. aangepast aan jouw excel versie en verborge kolommen zichtbaar.

toch ben ik benieuwd wat die [ ] haken in jouw bestand betekenen.
 

Bijlagen

Laatst bewerkt:
Hi Sylvester Ponten,

Het werkt nu goed, dank je wel. Die [ ] haken beteken niks, en het uitkomst is dat het niet klopt. Dat is dus goed.

Ik heb wel een vraag nog als het kan. Ik wil altijd proberen of te begrijpen wat een formule doet in excel. Wat betekent dat (A1) in formule? Want in cel naast zie ik B2. Is dat positie van de karakter?
 
Hier met een stukje code.

Code:
Sub hsv()
Dim sv, a, i As Long
 sv = Cells(1).CurrentRegion.Resize(, 3).Value
 ReDim a(UBound(sv), 2) As String
  With CreateObject("VBscript.Regexp")
    For i = 2 To UBound(a)
      a(i - 2, 0) = sv(i, 1)
      a(i - 2, 1) = sv(i, 2)
              .Global = True
              .Pattern = "[a-zA-Z]"
               a(i - 2, 2) = .Replace(sv(i, 1), "A")
              .Pattern = "[0-9]"
               a(i - 2, 2) = .Replace(a(i - 2, 2), "N")
          a(i - 2, 2) = IIf(sv(i, 2) = a(i - 2, 2), "juist", "onjuist")
        Next i
    End With
Cells(2, 1).Resize(UBound(a), 3) = a
End Sub

De array (sv) omgezet in array(a) omwille de voorloopnullen in kolom A.

Of:
Code:
Sub hsv()
Dim sv, a, i As Long
 sv = Cells(1).CurrentRegion
  With CreateObject("VBscript.Regexp")
    For i = 2 To UBound(sv)
              .Global = True
              .Pattern = "[a-zA-Z]"
               sv(i, 1) = .Replace(sv(i, 1), "A")
              .Pattern = "[0-9]"
               sv(i, 1) = .Replace(sv(i, 1), "N")
         sv(i, 1) = IIf(sv(i, 1) = sv(i, 2), "juist", "onjuist")
        Next i
    End With
    sv(1, 1) = Cells(1, 3)
Cells(1, 3).Resize(UBound(sv)) = sv
End Sub
 

Bijlagen

Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan