Ich arbeite in der VBA-Zuweisung und muss ein Array erstellen, das die Werte 16 bis 9 in umgekehrter Reihenfolge automatisch auffüllt. Dies ist mein aktueller Code:Problem mit verschachteltem For/Next-Loop und Füllfeld
nTeams = 16 ' variable to enable other size brackets
ReDim arrBracket(nTeams/2) '<< ReDim array to appropriate size
'***** Fill the array where element 1 of the array holds the value of the
' lowest seed (e.g. if 16 teams, element 1 has a value of 16)
' vvv your For/Next loop below
Dim nTeams2 As Integer ' Place holder for For/Next loop
For i = 1 To (nTeams/2)
For nTeams2 = nTeams To (nTeams/2) Step -1
arrBracket(i) = nTeams2
Next nTeams2
Next i
Das Problem ist, dass es nur noch wird das Array mit der Nummer 8 für jede der 8 Füllelemente, anstatt 16, 15, 14, 13, usw.
Hier ist die Schleife mein Professor enthalten, die Arbeit zu überprüfen:
For i = LBound(arrBracket()) To UBound(arrBracket()) ' loops through the array
Debug.Print i & " vs " & arrBracket(i) ' sends array info to immediate window
Next i
Sie müssen die innere Schleife nicht verwenden. Was passiert, ist, dass Sie der gleichen Position im Array mehrmals verschiedene Werte zuweisen. Der letzte ist immer 8. – mathiasfk