Worksheet.nl  

Ga terug   Worksheet.nl > Excel Overig > Tips en Trics



Status bericht: Opgelost
Reageren
 
LinkBack Discussietools Weergave
  #1  
Oud 29 maart 2011, 13:12
Senior Member
 
Geregistreerd: 10 maart 2010
Locatie: Uithoorn
Berichten: 123
Standaard Controle EAN code

De Europese ArtikelNummering of EAN code is een streepjescode (ook wel "barcode") die wereldwijd wordt toegepast bij artikelcodering in winkels.
Bij deze een VBA functie die controleert of EAN 13 codes geldig zijn.

VB_018
__________________
Met vriendelijke groet;

Spreadsheet Solutions - Mark Rosenkrantz
---
Met citaat reageren
Sponsored Links
  #2  
Oud 29 maart 2011, 16:29
bsalv's schermafbeelding
Forum Guru
 
Geregistreerd: 26 maart 2008
Locatie: Bachten de kupe, W-Vl, Belgie
Berichten: 6.832
Standaard

ik kan even niet volgen, dat is toch geen functie, je kan die niet parametreren of aanroepen met een bepaald gegeven ???
Code:
Sub test()
  Dim x As Integer
  x = CheckSumEAN13("101742256780")
  If x = -1 Then
    MsgBox "foute barcodelengte"
  Else
    MsgBox "het controlegetal is " & x
  End If
End Sub


Function CheckSumEAN13(Barcode As String)
'deze UDF geeft als argument de checksom van de EAN13-barcode
'is de barcode geen 12 cijfers lang, dan krijg je -1 als resultaat
  Dim i As Integer, Som As Integer
  If Len(Barcode) <> 12 Then CheckSumEAN13 = -1: Exit Function  ''lengte=12 ?
  For i = 1 To 12                                          'loop alle cijfers af
    Som = Som + Mid(Barcode, i, 1) * IIf(i Mod 2, 1, 3)    'oneven cijfers * 3, even cijfers *1
  Next
  CheckSumEAN13 = (10 - (Som Mod 10)) mod 10                        'je controlegetal uitrekenen
End Function
__________________
bsalv
"Er gaat meer boven je petje dan eronder" Toon Hermans
Is je vraag afgehandeld, gelieve die dan op "opgelost" te zetten via de daarvoor voorziene knop
Met citaat reageren
  #3  
Oud 29 maart 2011, 18:31
Senior Member
 
Geregistreerd: 10 maart 2010
Locatie: Uithoorn
Berichten: 123
Standaard

Het is inderdaad geen Functie maar een VBA procedure.

Uit de omschreven werkwijze op de webpagina had je ook kunnen opmaken dat het een procedure is.

Met een beetje goed wil is er natuurlijk wel een functie van te maken, maar dat was niet de opzet.

Mocht je de wil hebben om te kunnen parameteriseren... ga uw gang !!
__________________
Met vriendelijke groet;

Spreadsheet Solutions - Mark Rosenkrantz
---
Met citaat reageren
  #4  
Oud 29 maart 2011, 22:54
bsalv's schermafbeelding
Forum Guru
 
Geregistreerd: 26 maart 2008
Locatie: Bachten de kupe, W-Vl, Belgie
Berichten: 6.832
Standaard

ik ken er te weinig van af. Ik veronderstel dat je een getal met 13 cijfers krijgt, de 1e 12 zijn je barcode en het 13e is het controlecijfer en dan moet je controleren of is het anders ?
__________________
bsalv
"Er gaat meer boven je petje dan eronder" Toon Hermans
Is je vraag afgehandeld, gelieve die dan op "opgelost" te zetten via de daarvoor voorziene knop
Met citaat reageren
  #5  
Oud 30 maart 2011, 00:39
GiMe's schermafbeelding
Super Moderator
 
Geregistreerd: 9 november 2006
Locatie: België
Berichten: 2.596
Standaard

Citaat:
Oorspronkelijk geplaatst door Mark Rosenkrantz Bekijk bericht
Mocht je de wil hebben om te kunnen parameteriseren... ga uw gang !!
13de controlegetal =
Code:
=ALS(LENGTE(A1)<>12;"foute lengte";REST(10-REST(SOM(DEEL(A1;{1,3,5,7,9,11};1)*1)+SOM(DEEL(A1;{2,4,6,8,10,12};1)*3);10);10))
__________________
Groet,
GiMe Moderator
Mr.GiMe@worksheet.nl

Alles is relatief en zelfs dat..

Een bijlage (Excelvoorbeeldje met aanduiding van het gewenste resultaat) erbij betekent:
-dat de helper(s) niet de, meestal reeds bestaande, worksheet van de vrager moet(en) overtypen
-geen (ver)gissen mogelijk is bij de interpretatie van het proza
-men reeds kan anticiperen op toekomstige problemen
-veel vlugger tot een oplossing komt

kortom : Het wiel niet opnieuw dient uitgevonden te worden !
Met citaat reageren
  #6  
Oud 30 maart 2011, 01:17
bsalv's schermafbeelding
Forum Guru
 
Geregistreerd: 26 maart 2008
Locatie: Bachten de kupe, W-Vl, Belgie
Berichten: 6.832
Standaard

behalve de kommas ipv puntkommas tss de accolades vind ik de geboden oplossing superknap
Ik heb alleen een klein vraagje, normaal had ik dit als matrixformule verwacht (afsluiten met CTRL+SHIFT+ENTER) en dat is hier blijkbaar niet nodig. Dus is het geen matrixformule, waarom niet ?
__________________
bsalv
"Er gaat meer boven je petje dan eronder" Toon Hermans
Is je vraag afgehandeld, gelieve die dan op "opgelost" te zetten via de daarvoor voorziene knop
Met citaat reageren
  #7  
Oud 30 maart 2011, 08:02
Senior Member
 
Geregistreerd: 10 maart 2010
Locatie: Uithoorn
Berichten: 123
Standaard

Citaat:
Oorspronkelijk geplaatst door GiMe Bekijk bericht
13de controlegetal =
Code:
=ALS(LENGTE(A1)<>12;"foute lengte";REST(10-REST(SOM(DEEL(A1;{1,3,5,7,9,11};1)*1)+SOM(DEEL(A1;{2,4,6,8,10,12};1)*3);10);10))
Prachtige oplossing !!!
__________________
Met vriendelijke groet;

Spreadsheet Solutions - Mark Rosenkrantz
---
Met citaat reageren
  #8  
Oud 30 maart 2011, 09:53
GiMe's schermafbeelding
Super Moderator
 
Geregistreerd: 9 november 2006
Locatie: België
Berichten: 2.596
Standaard

Citaat:
Oorspronkelijk geplaatst door bsalv Bekijk bericht
behalve de kommas ipv puntkommas tss de accolades
??? Bij mij doet ie het nochtans ondanks (of dankzij) de komma's !!!
__________________
Groet,
GiMe Moderator
Mr.GiMe@worksheet.nl

Alles is relatief en zelfs dat..

Een bijlage (Excelvoorbeeldje met aanduiding van het gewenste resultaat) erbij betekent:
-dat de helper(s) niet de, meestal reeds bestaande, worksheet van de vrager moet(en) overtypen
-geen (ver)gissen mogelijk is bij de interpretatie van het proza
-men reeds kan anticiperen op toekomstige problemen
-veel vlugger tot een oplossing komt

kortom : Het wiel niet opnieuw dient uitgevonden te worden !
Met citaat reageren
  #9  
Oud 30 maart 2011, 12:20
bsalv's schermafbeelding
Forum Guru
 
Geregistreerd: 26 maart 2008
Locatie: Bachten de kupe, W-Vl, Belgie
Berichten: 6.832
Standaard

het zal misschien iets met mijn instellingen zijn die anders zijn (???)
Waarom is de oplossing geen matrixformule ? Ik dacht van zodra je binnen de formule een soort loopje bouwt zoals hier de even en oneven getallen, dan moet je ctrl-shift-enter gebruiken.
Bijgevoegde afbeelding(e)
Bestandstype: bmp Untitled 4.bmp‎ (177,2 KB, 24x gelezen)
__________________
bsalv
"Er gaat meer boven je petje dan eronder" Toon Hermans
Is je vraag afgehandeld, gelieve die dan op "opgelost" te zetten via de daarvoor voorziene knop
Met citaat reageren
Reageren


Discussietools
Weergave

Regels voor berichten
Je mag geen nieuwe discussies starten
Je mag niet reageren op berichten
Je mag geen bijlagen versturen
Je mag niet je berichten bewerken

BB code is Aan
Smileys zijn Aan
[IMG]-code is Aan
HTML-code is Uit
Trackbacks are Aan
Pingbacks are Aan
Refbacks are Aan



Ga terug   Worksheet.nl > Excel Overig > Tips en Trics


Soortgelijke discussies
Discussie Auteur Forum Reacties Laatste bericht
Controle T00N Afgehandelde vragen 13 28 januari 2012 16:39
Controle week. Jeroenvdl Afgehandelde vragen 4 15 december 2011 13:32
controle schema martinmack Afgehandelde vragen 2 26 mei 2010 16:06
Rooster controle janssen rijnmond Afgehandelde vragen 24 7 juli 2008 19:46
controle euromillions Timmers Afgehandelde vragen 5 3 augustus 2007 09:35


Alle tijden zijn GMT +2. Het is nu 04:27.


Forumsoftware: vBulletin®, versie 3.8.7
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.0