Om te kijken of voor een bepaald gebied extra kosten zijn voor de
pakketdienst heb ik per land een tabblad met daarin in kolom A de
vanaf postcode en in kolom B de laatste postcode waarvoor het geld. Nu
zou ik willen weten of er een macro te fabriceren is die zowel naar
Letters als naar Cijfers kijkt.
Hieronder de postcode van een stukje in Canada
Postcode A1R5G2 valt tussen A0A0A0 en A0Z9Z9 en dan moet het resultaat
'true' zijn.
Bij postcode A1A2F3 valt niet tussen waarde die hieronder staan en zou
dan 'false' moeten zijn.
A0A0A0 A0Z9Z9
A1P0A0 A9Z9Z9
B0A0A0 B2T9Z9
B3C0A0 B3G9Z9
B4C0A0 B9Z9Z9
C0A0A0 C0Z9Z9
C1G0A0 C9Z9Z9
Als in A2:B8 de gebieden staan en in D14 de te vergelijken postcode, zou
onderstaande formule je wellicht verder helpen.
Daarbij ben ik ervan uitgegaan dat de gegevens in kolom A oplopend
gesorteerd staan.
=EN(INDEX(A2:A8;VERGELIJKEN(D14;A2:A8))<=D14;INDEX(B2:B8;VERGELIJKEN(D14;A2:A8))>=D14)
Jan
Ik had niet gezien dat je om een macro vraagt, maar wellicht dat de formule
je toch verder helpt.
Jan
Jan,
Ik had de vraag iets te voorbarig gesteld. Ik ging ervan uit dat ik
niet kon vergelijken met cijfers en letters.
Na een testje blijkt dit toch gewoon te werken.
Moet nu nog een joker teken hebben voor alleen letters. Voor cijfers
heb ik deze wel maar als ik de normale ? gebruikt dan wordt er ook
gekeken naar cijfers.
Postcode Canada moet lijken op ?#?#?# dit is dan voor A0B1D8
Is mijn postcode nu 105188 dan wordt deze ook herkent en dit moet
juist voorkomen worden.
For i = 2 To 50
If myValue >= Sheets(MySheetName).Range("A" & i) And myValue <=
Sheets(MySheetName).Range("B" & i) Then
MsgBox ("Bedrag aub aanpassen.")
End If
Next i