Anzeige
Archiv - Navigation
1792to1796
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

VBA Code Permutation auf 3 ändern

VBA Code Permutation auf 3 ändern
11.11.2020 07:00:39
Bernd
Guten morgen liebe VBA Profis,
ich habe unten stehenden Code im Netz gefunden. Dabei ist es möglich in Spalte A Werte einzugeben, welche mir dann als 2er Kombination in den Spalten B und C, nach unten, aufgelistet werden.
Mein Problem, ich hätte gerne das daraus eine 3er Kombination wird, also auch die Spalte D mit einbezogen werden sollte und mir bei Vorgabe von drei Werten in Spalte A, diese dann mit all den Kombimöglichkeiten aufgelistet wird.
Habe bereits viel zeit damit verbracht, den Code selber umzuschreiben, bin jedoch daran gescheitert und hoffe auf Eure Hilfe hier das mir jemand diesen Code um mein Anliegen erweitert.
Hier mal der Code:
Sub permutation()
Dim sCnt, sIx1, sTo1, sIx2, sTo2 As Single
sCnt = 1
sTo2 = Application.WorksheetFunction.CountA(ActiveSheet.Range("A:A"))
sTo1 = sTo2 - 1
For sIx1 = 1 To sTo1
For sIx2 = sIx1 + 1 To sTo2
ActiveSheet.Cells(sCnt, 2).Value = ActiveSheet.Cells(sIx1, 1).Value
ActiveSheet.Cells(sCnt, 3).Value = ActiveSheet.Cells(sIx2, 1).Value
sCnt = sCnt + 1
Next sIx2
Next sIx1
End Sub

Falls eine Beispielmappe benötigt wird, kann ich auch gerne eine erstellen und hoch laden. Ich denke aber, der o.a. Code ist ausreichend um zu Testen, denn mehr habe ich bisher noch nicht.
Ich Danke Euch schon mal vorab und wünsche einen schönen Tag,
LG Bernd

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dreier-Permutationen
11.11.2020 08:17:31
Bernd
Hi WF,
THX für Deine Antwort, nur damit komme ich leider nicht weiter
Habe mal hier eine Beispieldatei erstellt: https://www.herber.de/bbs/user/141458.xlsm
Jetzt ist es so, dass aus meinen 3 Vorgegeben Werten alle 2er Kombinationen aufgelistet werden.
Ziel soll es sein, dass daraus 3er Kombis werden.
Ist das via VBA möglich? Und falls ja, ist der von mir gefundene Code dementsprechend erweiterbar und kannst Du bzw. auch andere, mir diesen so umschreiben?
LG Bernd
Anzeige
AW: Dreier-Permutationen
11.11.2020 08:47:33
peterk
Hallo

Sub permutation()
Dim i As Long
Dim j As Long
Dim k As Long
Dim lCnt As Long
Dim cRow As Long
lCnt = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
cRow = 1
For i = 1 To lCnt - 2
For j = i + 1 To lCnt - 1
For k = j + 1 To lCnt
With ActiveSheet
.Cells(cRow, 2).Value = .Cells(i, 1).Value
.Cells(cRow, 3).Value = .Cells(j, 1).Value
.Cells(cRow, 4).Value = .Cells(k, 1).Value
cRow = cRow + 1
End With
Next k
Next j
Next i
End Sub

AW: Dreier-Permutationen
11.11.2020 08:54:46
Bernd
Hallo peterk,
recht herzlichen Dank für Deinen Lösungsvorschlag.
Es gibt jedoch dabei das Problem, wenn ich nur 3 Werte vorgebe dann wird als Ergebnis
nur eine Kombi aufgelistet, nämlich genau mit meinen 3 Werten.
Gebe ich 4 Werte vor, funktioniert es.
Was bzw. wie muss ich den Code ändern das es auch mit 3 Vorgabewerten funktioniert?
Nochmals Danke für die Hilfe,
LG Bernd
Anzeige
AW: Dreier-Permutationen
11.11.2020 09:04:47
peterk
Hallo
Was hättest Du gerne als Ergebnis?
Beispiel : 1,2,3
Mein Programm liefert: 1,2,3
Du willst: 1,2,3| 1,3,2| 2,1,3| 2,3,1| 3,1,2 | 3,2,1 ?
Peter
AW: Dreier-Permutationen
11.11.2020 09:12:52
Bernd
Hallo Peter,
SORRY!!!!
Ich bin echt ein Dödel. Vermutlich weil ich schon so lange herumprobiere hat auch mein Kleinhirn versagt.
Dein Code tut exakt das, woraufhin ich aus war. Ziel ist es ja nicht nur 3 Zahlen sondern 5 als
Vorgabewert zu definieren und daraus die 3er Kombis zu bilden, und das tut es.
Nochmals, Tschuldigung für meinen vorigen Beitrag und tausend Dank für Deine Top Hilfe!
MfG Bernd
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige