Private Const maxNum As Integer = 6
Private n(maxNum) As String

Sub test()
    Dim i As Integer
    Dim j As Integer
    
    n(0) = "a"
    n(1) = "b"
    n(2) = "c"
    n(3) = "d"
    n(4) = "e"
    n(5) = "f"
    
    For i = 1 To maxNum - 1
        For j = 1 To maxNum / 2
            Cells(j, i).Value = n(j - 1) & "-" & n(maxNum - j - 1)
        Next j
        Call change
    Next
End Sub

Sub change()
    Dim s As String
    Dim i As Integer
    
    s = n(1)
    For i = 1 To maxNum - 2
        n(i) = n(i + 1)
    Next
    n(maxNum - 1) = s
End Sub


と、家に帰ってからPHPの方の書いてみました。

<?php
define("MAX_NUM", 6);

$man[0]="a";
$man[1]="b";
$man[2]="c";
$man[3]="d";
$man[4]="e";
$man[5]="f";

for ($i = 0; $i <= MAX_NUM - 2; $i++) {
    	for ($j = 0; $j <= MAX_NUM/2-1; $j++) {
		$team[$i][$j] = $man[$j]."-".$man[MAX_NUM-$j-1];
	}
	change($man);
}

print_r($team);

function change(&$man){
	$str = $man[1];
	for ($i = 1; $i <= MAX_NUM-2; $i++){
		$man[$i] = $man[$i+1];
	}
	$man[MAX_NUM-1] = $str;
	return;
}
?>