Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1064to1068
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Alle Möglichkeiten per Algorithmus mit Fakultät

Alle Möglichkeiten per Algorithmus mit Fakultät
01.04.2009 10:35:53
Richard
Hallo Leute,
ich hätt' da mal wieder eine Frage an euch.
Folgendes Problem: Ich habe die Buchstabenreihe A B C D E F G, somit sind es 7 Buchstaben. Die Fakultät der Zahl 7 also 7! ergibt 5040.
Ich weiß somit, dass es insgesamt 5040 verschiedene Möglichkeiten gibt die Buchstaben aneinanderzureihen.
1. A B C D E F G
2. A B C D E G F
3. A B C D F E G
4. A B C D F G E
5. A B C D G E F
6. A B C D G F E
.
.
.
5040. G F E D C B A
Leider ist es nun sehr Mühsehlig alle 5000 Zeilen manuell auszufüllen und Fehler können auch leicht gemacht werden.
Meine Frage nun:
Kann ich irgendwie per VBA alle möglichen Werte in Spalte A einfügen lassen?
Bin irgendwie zu blöd selber auf des Rätsels Lösung zu kommen.
Vielen Dank schon mal für eure Hilfe!
Mit freundlichen Grüßen
Richard E.

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
VBA Variante
01.04.2009 12:15:50
Tino
Hallo,
hier noch eine VBA Variante.
Die Daten stehen fürs Beispiel in Zelle A1 bis G1
Dim myArea(), LRow As Long

Sub TestMakro()
Dim myAr
Dim Bereich As Range

Set Bereich = Range("A1:G1") 'Bereich anpassen 

myAr = Bereich

Redim myArea(1 To Application.WorksheetFunction.Fact(Ubound(myAr, 2)), 1 To Ubound(myAr, 2))

Call Permutation_Mit_VBA(myAr, 1)

Range(Bereich, Bereich.Offset(Ubound(myArea) - 1, 0)) = myArea

LRow = 0: Erase myArea
End Sub

Function Permutation_Mit_VBA(ByVal myAr, LL As Long)
Dim L As Long, tempWert

If LL > Ubound(myAr, 2) Then
        LRow = LRow + 1
        For L = Lbound(myAr, 2) To Ubound(myAr, 2)
         myArea(LRow, L) = myAr(1, L)
        Next
    Else
        For L = LL To Ubound(myAr, 2)
            tempWert = myAr(1, L)
            myAr(1, L) = myAr(1, LL)
            myAr(1, LL) = tempWert
            Call Permutation_Mit_VBA(myAr, LL + 1)
        Next
End If
End Function


Gruß Tino

Anzeige
AW: Permutationen - nix VBA: Formeln
01.04.2009 11:44:55
Richard
Vielen vielen Dank! Genau das habe ich gesucht!

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige