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

Combineren van getallenreeksen

Status
Niet open voor verdere reacties.

marcelwi

Gebruiker
Lid geworden
18 jan 2010
Berichten
47
Hallo,
Ik heb al veel doorgelezen op het forum maar vind geen oplossing voor mijn probleem. Soms kom ik dingen tegen die erop lijken maar heb nog niet de juiste oplossing voor wat ik wil;
In kolom A zet ik een aantal getallen (max. 100) en in kolom B ook (max. 150). Wat ik dan wil is dat in kolom C alle mogelijke combinaties van die getallen verschijnen.
Volgens mij moet dat met een macro maar daar ben ik niet zo'n ster in.
Kan iemand me helpen?

b.v.d.
Marcel
 
Wat ik dan wil is dat in kolom C alle mogelijke combinaties van die getallen verschijnen
...en wat wordt je daar dan wijzer van??? Ofwel, wat is het nut van deze exercitie?

Groet, Leo
 
Heeft te maken met mijn werk; in 1e kolom komen artikelnrs. in 2e kolom klanten. Op een ander werkblad zit dan een check of die combinatie van artikel-klant wel toegestaan is. Kunnen dus telkens andere artikelen/klantnummers zijn. Zodoende kan ik fouten eruit halen vóórdat definitef (met SAP) besteld gaat worden.

gr.
Marcel
 
niet altijd; klantnummer is wel altijd 4 cijfers maar artikelnummers kan 4-8 cijfers bevatten.

gr.
Marcel
 
Dan kan je een check doen zonder dat je de complete lijst samensteld.
Gewoon kijken of de rechter 4 cijfers voorkomen in kolom B, en de cijfers daarvoor voorkomen in kolom A. toch?
 
Dit zou een oplossing kunnen zijn....
Code:
Sub Combinaties()
Dim c1 As Variant
Dim c2 As Variant
Dim c3 As Variant

    On Error Resume Next
    c1 = Columns(1).SpecialCells(xlCellTypeConstants)
    c2 = Columns(2).SpecialCells(xlCellTypeConstants)
    On Error GoTo 0
    If IsEmpty(c1) Or IsEmpty(c2) Then Exit Sub 'beide of een van de kolommen is leeg
    
    ReDim c3(1 To (UBound(c1, 1) * UBound(c2, 1)))
    
    For Each e1 In c1
        For Each e2 In c2
            i = i + 1
            c3(i) = e1 & e2
        Next e2
    Next e1

    Range("C1").Resize(UBound(c3), 1) = WorksheetFunction.Transpose(c3)

End Sub
Plaats deze code in een gewone module van je VBE. Zorg er wel voor dat zowel kolom A als B méér dan 2 regels bevatten, anders knalt de code.

Groet, Leo
 
nee, dan heb ik het misschien verkeerd uitgelegd.
Als je in SAP veel gegevens ingeeft om orders te creëren en daar zitten fouten in dan levert dat een hoop ellende op. Daarom wil ik een excelbestand maken waarin de besteller eerst gaat checken of er geen fouten in zitten.
In kolom A staan dus de klanten, nrs. 8412, 7245, 9867 etc.. In kolom B komen artikelen 123456, 87654, 345715 etc.. In principe zou men dan alle artikelen voor alle klanten willen bestellen maar soms lukt dat niet omdat SAP bepaalde artikelen voor bepaalde klanten blokkeerd. Nu heb ik in excel die check gebouwd zodat gecontroleerd wordt of een artikel voor een bepaalde klant wel besteld kan/mag worden. Om die check uit te kunnen voeren moet dus met verticaal zoeken gezocht worden op unieke combinaties, in dit geval dus klantnummer_artikelnummer. Dus 8412123456, 841287654, 8412345715, 7245123456, 724587654 etc..

gr.
Marcel
 
ginger, sorry, mijn reactie is die op bandito bob. Ik ga jouw idee even proberen.
 
nee, dan heb ik het misschien verkeerd uitgelegd.
Als je in SAP veel gegevens ingeeft om orders te creëren en daar zitten fouten in dan levert dat een hoop ellende op. Daarom wil ik een excelbestand maken waarin de besteller eerst gaat checken of er geen fouten in zitten.
In kolom A staan dus de klanten, nrs. 8412, 7245, 9867 etc.. In kolom B komen artikelen 123456, 87654, 345715 etc.. In principe zou men dan alle artikelen voor alle klanten willen bestellen maar soms lukt dat niet omdat SAP bepaalde artikelen voor bepaalde klanten blokkeerd. Nu heb ik in excel die check gebouwd zodat gecontroleerd wordt of een artikel voor een bepaalde klant wel besteld kan/mag worden. Om die check uit te kunnen voeren moet dus met verticaal zoeken gezocht worden op unieke combinaties, in dit geval dus klantnummer_artikelnummer. Dus 8412123456, 841287654, 8412345715, 7245123456, 724587654 etc..

gr.
Marcel
dan kan je denk ik beter een lijstje maken met geblokeerde artikelen bij klanten, en dan een formule toepassen. Lijkt mij dat de lijst dan veel kleiner is.
 
Laatst bewerkt:
Leo, jouw macro lijkt perfect te werken! Klasse, ik heb altijd veel bewondering voor mensen die dat kunnen!:thumb:

Paul, toch ook nog jouw oplossing bekeken, ik dacht namelijk ook heel lang dat het ook wel met een formule moest kunnen. Maar als ik je formule goed lees ga je op zoek naar het áántal combinaties en ga je ervan uit dat de combinaties op zich al bekend zijn, maar ik hoef geen aantal maar juist de combinaties zelf. Hoe dan ook; heel erg bedankt voor de moeite maar ik kan met de oplossing van Leo ook verder.:thumb:

gr.
Marcel
 
"dan kan je denk ik beter een lijstje maken met geblokeerde artikelen bij klanten, en dan een formule toepassen. Lijkt mij dat de lijst dan veel kleiner is.[/QUOTE]

140 klanten, 80000 artikelen. Klanten hebben allemaal verschillende assortimenten, dus zo'n lijst zou ook veel te groot zijn.
Maar nogmaals; bedankt voor 't meedenken!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan