Avatar billede natsortsort Nybegynder
07. december 2007 - 09:08 Der er 5 kommentarer og
1 løsning

kombinatorik makro

Jeg har lidt problemer med at lave en marko der kan give mig alle mulige kombinationer af hændelser og ikke hændelser.

Eks. Jeg har 7 begivenheder, enten vil jeg deltage eller også vil jeg ikke deltage (0 eller 1). Men hvordan får jeg opstillet alle muligheder på en lang liste.

Jeg ved med 8 begivenheder har jeg 2^7=128 mulige kombinationer:
00000000
10000000
11000000
11100000
osv.

Er der nogen som har en idé til en makro der kan gøre det for mig Excel, så jeg får alle mulige løsninger opstillet?

natsort
Avatar billede epimetheus Nybegynder
07. december 2007 - 10:07 #1
Prøv den her.

Sub Binary()
  Dim i As Long
  Range("A1") = "0000000000"
  For i = 1 To 1023
    Range("A" & i + 1) = Format(Dec2Bin(i), "0000000000")
  Next
End Sub

Function Dec2Bin(lNumber As Long) As String
  Dim i As Long
  i = 1
  Do
    Dec2Bin = IIf((Abs(lNumber) And i) = 0, "0", "1") & Dec2Bin
    i = i * 2
  Loop Until i > Abs(lNumber)
End Function

Husk at sætte formatet i kolonne A til tekst, for at få alle nullerne med.
Avatar billede epimetheus Nybegynder
07. december 2007 - 10:08 #2
Det er jo i bund og grund binærer tal du skal bruge.
Avatar billede natsortsort Nybegynder
07. december 2007 - 10:24 #3
Hvorfor er det lige at jeg får en fejl når jeg kører macroen?
Compile error: sub or function not defined.
Avatar billede epimetheus Nybegynder
07. december 2007 - 10:57 #4
Har du ændret i koden?
Avatar billede natsortsort Nybegynder
07. december 2007 - 11:16 #5
Den virker nu på min PC - det var bare en mac der fuckedet up.
Tusind tak for hjælpen.
Lægger du et svar ind så får du point.

:-)
Avatar billede epimetheus Nybegynder
07. december 2007 - 11:20 #6
Et svar.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester