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

codes met willekeurige cijfers en letters

Status
Niet open voor verdere reacties.

jjadam

Nieuwe gebruiker
Lid geworden
22 feb 2019
Berichten
1
Wij zijn een drukkerij en maken voor een klant cadeaubonnen met een EAN13 code.
Een aantal jaren geleden heeft iemand een Excel bestand voor ons gemaakt met daarin 10.000 unieke codes.
Deze codes zijn nu echter op en we hebben nieuwe codes nodig.
De man die deze codes voor ons gemaakt heeft is helaas niet meer te traceren.
Onze Excel kennis is veel te beperkt om dit zelf te kunnen doen.
Kan iemand ons hiermee helpen?

Onderstaand 9 voorbeelden van de gebruikte codes (regel 2501 t/m 2510 in het oude bestand).
De codes hebben altijd 13 karakters (hoofdletter en cijfers) door elkaar heen.
De nieuwe codes moeten eigenlijk uniek zijn ook t.o.v. de oude codes (er mogen in de nieuwe codes geen oude codes voorkomen, als dat überhaupt mogelijk is)
Deze codes worden automatisch door onze printer met een software programma omgezet naar de bekende EAN13 streepjes codes.
Maar als deze streepjes codes ook al in Excel beschikbaar is is dat wellicht nog makkelijker voor ons.

62EDEC9LQPEMN
MCJ22D1WG3M61
0EWZLYR0QUZEM
IHEP2JLFYYHPL
EJS71GHM7SYU5
2H8N7BE8PQX4I
J0HER0JSO074A
SNFCJRZ0R9IHZ
WTW8DRO5V2LQG

Bij voorbaat onze dank, Justin
 
Optionele werkwijze (zonder VBA):
1. Genereer met bijlage een lijst met EAN13-codes (doortrekken naar behoefte) (n.b.: een hele lange lijst kan wel eens een trage sheet tot gevolg kan hebben)
2. Selecteer lijst en "plak speciaal als waarde" in nieuwe sheet
3. Via menu gegevens > dubbele waarden verwijderen (kans is klein, maar je weet nooit)
4. Checken met andere lijst of waarden voorkomen. (AANTAL.ALS erachter zetten en/of middels Voorwaardelijke Opmaak deze codes een kleurtje geven bijvoorbeeld)

Middels VBA kan dit waarschijnlijk wel geautomatiseerd worden, maar daar zijn anderen beter in.
 

Bijlagen

Code:
Sub Uniek()
    Dim j      As Integer

    Set dict = CreateObject("scripting.dictionary")

    sn = Range("A1").Resize(10000)                                   'huidige opgebruikte 10.000 codes
    For i = 1 To UBound(sn)
        If Not dict.exists(sn(i, 1)) Then dict.Add sn(i, 1), sn(i, 1)   'inlezen in dictionary
    Next

    Do                                                               'start loopje
        s = ""                                                       'lege string
        For i = 1 To 13                                              '13 karakters lang
            j = Rnd * 35                                             'keuze uit 10 cijfers en 26 letters
            s = s & Chr(48 + j + IIf(j > 9, 7, 0))                   'nieuwe code aanmaken
        Next
        If Not dict.exists(s) Then dict.Add s, s            'nieuwe code toevoegen aan dictionary
    Loop While dict.Count < 20000

    Range("B1").Resize(dict.Count).Value = Application.Transpose(dict.items)    '20.000 codes, 10.000 oude en 10.000 nieuwe
End Sub
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan