Sitzordnung erstellen (Kombinatorik)

Eine befreundete Lehrerin hat in ihrer Klasse 22 Schüler an 11 Tischen (2 Schüler pro Tisch) und möchte die Sitzordnung periodisch wechseln, sodass im Laufe des Schuljahres jeder Schüler jeden Mitschüler einmal als Tischnachbar gehabt hat, also 21 verschiedene Sitzvarianten.

Für 2, 3 und 4 Tische habe ich dies einmal manuell erstellt, wobei ich zeilenweise alphabetisch vorgegangen bin, siehe 1. Zeile und 1. Spalte

ab,cd
ac,bd
ad,bc

ab,cd,ef
ac,be,df
ad,bf,ce
ae,bd,cf
af,bc,de

ab,cd,ef,gh
ac,bd,eg,fh
ad,bc,eh,fg
ae,bf,cg,dh
af,be,ch,dg
ag,bh,ce,df
ah,bg,cf,de

Es wird aber zunehmend mühsamer. Man muss nach rechts unten hin immer mehr bereits vergebene Paarungen berücksichtigen. Für 11 Tische habe ich es gar nicht erst versucht. Vielleicht sind es im nächsten Jahr ja 10 oder 12.

Kann uns da jemand helfen? Lösungshinweis oder gar fertige Lösung? VBA kann ich zwar implementieren, aber nicht selbst programmieren. Vielen Dank.

Ein kleines Beispiel
für X Zahlen aus XX Zahlen ohne zurücklegen
http://www.tutorials.de/content/1573-visual-basic-zi…

dazu musst du dann nur noch die kombies wegschmeissen die es schon gab.