/ / Possibili partite di calcio in Excel VBA

Possibili partite di calcio in Excel VBA

Di seguito vedremo un programma in Excel VBA che mostra un'anteprima di stampa di tutto il possibili partite di calcio da un elenco di squadre.

Situazione:

Possibili partite di calcio in Excel VBA

1. Per prima cosa dichiariamo un oggetto Range e quattro variabili. Chiamiamo l'oggetto Range rng. Una variabile String che chiamiamo matchname e tre variabili Integer che chiamiamo counter, i e j.

Dim rng As Range, matchname As String, counter As Integer, i As Integer, j As Integer

2. Inizializziamo rng con i nomi delle squadre. Usiamo CurrentRegion perché non conosciamo i limiti precisi della gamma in anticipo (vogliamo che questo programma funzioni per 3 squadre ma anche per 12 squadre). Inizializziamo il contatore con il valore 0.

Set rng = Range("A1").CurrentRegion
counter = 0

3. Scriviamo tutte le partite di calcio possibili alla colonna C. Innanzitutto, svuotiamo la colonna C.

Worksheets(1).Columns(3) = ""

4. Iniziamo un doppio ciclo.

For i = 1 To rng.Count
    For j = i + 1 To rng.Count

5. Scriviamo un matchname sulla variabile matchname.

matchname = rng.Cells(i).Value & " vs " & rng.Cells(j).Value

Ad esempio, per i = 1 e j = 2, Excel VBA scrive il nome partita Kickers vs Shooters. Per i = 1 e j = 3, Excel VBA scrive il nome partita Kickers vs Little Giants, ecc.

6. Scriviamo il matchname nella colonna C.

Cells(counter + 1, 3).Value = matchname

7. Il contatore tiene traccia del numero di nomi di corrispondenza scritti nella colonna C. Gli incrementi VBA di Excel eseguono il contatore di 1 ogni volta che scrive un nome di corrispondenza nella colonna C. Per ottenere ciò, aggiungere la seguente riga di codice:

counter = counter + 1

8. Non dimenticare di chiudere i due anelli.

    Next j
Next i

9. Mostriamo un'anteprima di stampa di tutte le possibili partite di calcio.

ActiveSheet.Columns(3).PrintPreview

10. Testare il programma.

Parte del risultato:

Possibili risultati delle partite di calcio

Nota: la colonna C è centrata manualmente per ottenere questo risultato.

Leggi anche: