Ci-dessous, nous examinerons un programme dans Excel VBA qui montre un aperçu avant impression de tous les matches possibles de football d’une liste d’équipes.

Situation:

Possible Football Matches in Excel VBA

  1. Tout d’abord, nous déclarons un objet Range et quatre variables. Nous appelons l’objet Range RNG. Une variable chaîne que nous appelons matchName et trois variables entières nous appellent contre, i et j.

Dim rng As Range, matchname As String, counter As Integer, i As Integer, j As Integer
  1. Nous initialize RNG avec les noms de l’équipe. Nous utilisons lien: / ABV-exemples CurrentRegion [CurrentRegion] parce que nous ne savons pas les limites exactes de la plage à l’avance (nous voulons que ce programme de travail pour 3 équipes, mais aussi pour les 12 équipes). Nous initialisons contre avec la valeur 0.

Set rng = Range("A1").CurrentRegion

counter = 0
  1. Nous écrivons tous les matches possibles de football à la colonne C. Tout d’abord, nous colonne vide C.

Worksheets(1).Columns(3) = ""
  1. Nous commençons une double boucle.

For i = 1 To rng.Count

For j = i + 1 To rng.Count
  1. Nous écrivons un matchName à la matchName variable.

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

Par exemple, pour i = 1 et j = 2, Excel VBA écrit les matchName Kickers vs Shooters. Pour i = 1 et j = 3, Excel VBA écrit les matchName Kickers vs Giants peu, etc.

  1. Nous écrivons la matchName à la colonne C.

Cells(counter + 1, 3).Value = matchname
  1. Le compteur conserve la trace du nombre de matchnames écrites à la colonne de C. Excel VBA compteur de 1 à chaque fois qu’il écrit un matchName à la colonne C. Pour ce faire, ajoutez la ligne de code suivant:

counter = counter + 1
  1. Ne pas oublier de fermer les deux boucles.

Next j

Next i
  1. Nous montrons un aperçu avant impression de tous les matches possibles de football.

ActiveSheet.Columns(3).PrintPreview
  1. Tester le programme.

Une partie du résultat:

Possible Football Matches Result

Remarque: la colonne C est centrée manuellement pour obtenir ce résultat.