/ / Posibles partidos de fútbol en Excel VBA

Posibles partidos de fútbol en Excel VBA

A continuación veremos un programa en Excel VBA que muestra una vista previa de impresión de todos los posibles partidos de fútbol De una lista de equipos.

Situación:

Posibles partidos de fútbol en Excel VBA

1. Primero, declaramos un objeto Range y cuatro variables. Llamamos al objeto Range rng. A una variable de cadena la llamamos matchname, y a tres variables enteras las llamamos counter, i y j.

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

2. Iniciamos rng con los nombres de los equipos. Usamos CurrentRegion porque no conocemos los límites exactos del rango de antemano (queremos que este programa funcione para 3 equipos pero también para 12 equipos). Inicializamos el contador con valor 0.

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

3. Escribimos todos los partidos de fútbol posibles en la columna C. Primero, vaciamos la columna C.

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

4. Comenzamos un Double Loop.

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

5. Escribimos un nombre de coincidencia a la variable nombre de coincidencia.

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

Por ejemplo, para i = 1 y j = 2, Excel VBA escribe el nombre Kickers vs Shooters. Para i = 1 y j = 3, Excel VBA escribe el nombre de Kickers vs Little Giants, etc.

6. Escribimos el nombre de la columna C.

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

7. El contador mantiene un registro del número de nombres escritos en la columna C. Excel VBA incrementa el contador en 1 cada vez que escribe un nombre en la columna C. Para lograr esto, agregue la siguiente línea de código:

counter = counter + 1

8. No te olvides de cerrar los dos bucles.

    Next j
Next i

9. Mostramos una vista previa de impresión de todos los partidos de fútbol posibles.

ActiveSheet.Columns(3).PrintPreview

10. Probar el programa.

Parte del resultado:

Posible resultado de los partidos de fútbol

Nota: la columna C se centra manualmente para obtener este resultado.

Lea también: