Posible partidos de fútbol en Excel VBA
A continuación vamos a ver un programa en Excel VBA que muestra una vista previa de impresión de todos los posibles partidos de fútbol a partir de una lista de equipos.
Situación:
-
En primer lugar, declaramos un objeto Range y cuatro variables. Que llamamos el objeto RNG. Una variable de cadena que llamamos matchname, y tres variables enteras que llaman contador, i y j.
Dim rng As Range, matchname As String, counter As Integer, i As Integer, j As Integer
-
inicializamos RNG con los nombres de los equipos. Utilizamos
enlace: / VBA-ejemplos-CurrentRegion [CurrentRegion]
porque no sabemos con precisión los límites de la gama de antelación (queremos que este programa de trabajo para 3 equipos, sino también para los 12 equipos). Inicializamos contador con el valor 0.
Set rng = Range("A1").CurrentRegion counter = 0
-
Escribimos todos los posibles partidos de fútbol a la columna C. En primer lugar, nos vacía la columna C.
Worksheets(1).Columns(3) = ""
-
Comenzamos un bucle doble.
For i = 1 To rng.Count For j = i + 1 To rng.Count
-
Escribimos un matchname a la variable matchname.
matchname = rng.Cells(i).Value & " vs " & rng.Cells(j).Value
Por ejemplo, para i = 1 y j = 2, Excel VBA escribe los Kickers matchname vs tiradores. Para i = 1 y j = 3, Excel VBA escribe los Kickers matchname CONTRA poca Gigantes, etc.
-
escribimos la matchname a la columna C.
Cells(counter + 1, 3).Value = matchname
-
El contador mantiene un registro del número de matchnames escritos para contador de columna C. Excel VBA incrementos en 1 cada vez que escribe un matchname a la columna C. Para lograr esto, añadir la siguiente línea de código:
counter = counter + 1
-
No se olvide de cerrar los dos bucles.
Next j Next i
-
Nos muestran una vista previa de impresión de todos los posibles partidos de fútbol.
ActiveSheet.Columns(3).PrintPreview
Prueba 10. el programa.
Parte del resultado:
Nota: la columna C se centra de forma manual para obtener este resultado.