• 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

Status
Niet open voor verdere reacties.

IVAN

Gebruiker
Lid geworden
10 feb 2001
Berichten
365
Hallo,

Graag zou ik willen weten hoe ik in excel combinaties kan verkrijgen...
Bijvoorbeeld : ik heb 8 letters ( a tot h) en zou graag de mogelijke combinaties
verkrijgen met 2 letters naast elkaar ( vb: ab;ac;ad;ae; enz..)

Ik ben maar een doorsnee excel gebruiker en kom tot geen oplossing...

Alvast bedankt


Ivan
 
Er is een functie COMBINATIES die het aantal combinaties weergeeft.

=Combinaties(8;2)

Uitkomst: 28

Met VBA kan je dmv een macro zien welke combinaties er zijn.

Code:
Sub combinaties()
Dim lRij As Long
Dim lLet1 As Long
Dim lLet2 As Long
    lRij = 1
    For lLet1 = 1 To 7
        For lLet2 = lLet1 + 1 To 8
            Range("A" & lRij) = Chr(64 + lLet1) & Chr(64 + lLet2)
            lRij = lRij + 1
        Next
    Next
End Sub

Bovenstaande code zet vanaf cel A1 alle combinaties (dus 28) neer.

Met vriendelijke groet,


Roncancio
 
Roncancio,
Bedankt voor je snelle reactie.....

Ik kon het macrotje doen werken, maar mis bijvoorbeeld de combinatie ad of ab......
Is het ook mogelijk om de de letters te vervangen door eigen woordjes of door ander niet op elkaar volgende letters...

Alvast nogmaals bedankt

Ivan
 
Roncancio,
Bedankt voor je snelle reactie.....

Ik kon het macrotje doen werken, maar mis bijvoorbeeld de combinatie ad of ab......
Is het ook mogelijk om de de letters te vervangen door eigen woordjes of door ander niet op elkaar volgende letters...

Alvast nogmaals bedankt

Ivan

Bij mijn uitkomst zie ik wel AD en AB.
De macro is uitgegaan van de letters van het alfabet en hun positie hierin.
Als je dus niet op elkaar volgende letters wilt gebruiken, wordt het dus een ander verhaal.

Met vriendelijke groet,


Roncancio
 
voorbeeld

Code:
Sub combinaties()
  sq=split("aa|ff|rr|mm|55","|")
  for j=0 to ubound(sq)
    for jj=0 to ubound(sq)
      c0=c0 & sq(j) & "_" & sq(jj) & "|"
    next
  next
  sq=split(c0,"|")
  cells(1,1).resize(ubound(sq))=worksheetfunction.transpose(sq)
End Sub
 
Hallo Roncancia, snb,

De macro werkt prima.....
maar is het ook mogelijk te vermijden dat ik bijvoorbeeld
twee combinaties verkrijg tss a en d , nu krijg ik "ad" en "da" als resultaat..
voor mij is een combinatie voldoende....
Als het teveel zoekwerk is om bovengaande op te lossen, hoeft het niet hoor....
Ik ben met de laatste macro ook wel tevreden....

Nogmaals bedankt

Ivan
 
In de macro van Snb verander je:

Code:
for jj=[B]0[/B] to ubound(sq)

in:

Code:
for jj=[B]j+1[/B] to ubound(sq)
 
of nog spannender:

Code:
Sub combinaties()
  sq=split("aa|ff|rr|mm|55","|")
  for j=0 to ubound(sq)
    for jj=0 to ubound(sq)
      if instr(c0,strreverse(sq(j) & "_" & sq(jj)))=0 then c0=c0 & sq(j) & "_" & sq(jj) & "|"
    next
  next
  sq=split(c0,"|")
  cells(1,1).resize(ubound(sq))=worksheetfunction.transpose(sq)
End Sub
of
Code:
Sub combinaties()
  sq=split("aa|ff|rr|mm|55","|")
  for j=0 to ubound(sq)
    for jj=0 to ubound(sq)
      if instr(c0,sq(jj) & "_" & sq(j))=0 then c0=c0 & sq(j) & "_" & sq(jj) & "|"
    next
  next
  sq=split(c0,"|")
  cells(1,1).resize(ubound(sq))=worksheetfunction.transpose(sq)
End Sub
 
Misschien is het goed om aan Ivan te laten weten dat hij voor zijn gegevens
in de twee laatste macro's van snb de tweede regel moet vervangen door:

sq = Split("a|b|c|d|e|f|g|h", "|")

en evt. in de vijfde regel twee maal het liggend streepje weghalen.
 
Laatst bewerkt:
Hallo allemaal,

Mijn probleem is door jullie toedoen opgelost....................
waarvoor m'n dank.......

Groeten en nog prettige eindejaarsfeesten

Ivan
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan