A continuación, veremos un programa en Excel VBA que muestra una vista previa impresa de todos los partidos de fútbol posibles de una lista de equipos.
Situación:
1. Primero, declaramos un objeto Range y cuatro variables. Llamamos al objeto Range rng. Una variable String que llamamos matchname, y tres variables Integer que llamamos contador, i y j.
Dim rng As Range, matchname As String, counter As Integer, i As Integer, j As Integer
2. Inicializamos 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 bucle doble .
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 yj = 2, Excel VBA escribe el nombre de coincidencia Kickers vs Shooters. Para i = 1 y j = 3, Excel VBA escribe el nombre de coincidencia Kickers vs Little Giants, etc.
6. Escribimos el nombre de coincidencia en la columna C.
Cells(counter + 1, 3).Value = matchname
7. El contador realiza un seguimiento del número de nombres de coincidencia escritos en la columna C. Excel VBA incrementa el contador en 1 cada vez que escribe un nombre de coincidencia en la columna C. Para lograr esto, agregue la siguiente línea de código:
counter = counter + 1
8. No olvide cerrar los dos bucles.
Next j
Next i
9. Mostramos una vista previa impresa de todos los partidos de fútbol posibles.
ActiveSheet.Columns(3).PrintPreview
10. Pruebe el programa.
Parte del resultado:
Nota: la columna C se centra manualmente para obtener este resultado.
14/10 Completado! Más información sobre el objeto de rango>
Siguiente capítulo: Variables