Publicado: 15/08/2026

Tu primera Macro en Excel: Automatiza la búsqueda de combinaciones ganadoras

Si todavía no estás listo para instalar Python o configurar bases de datos en Docker, no te preocupes. Puedes exprimir al máximo tu hoja de cálculo utilizando Macros (VBA). Una de las tareas más tediosas es verificar si la combinación que tienes en mente ya ha ganado el primer lugar en el pasado. Vamos a automatizarlo.


Si todavía no estás listo para instalar Python o configurar bases de datos en Docker, no te preocupes. Puedes exprimir al máximo tu hoja de cálculo utilizando Macros (VBA).

Una de las tareas más tediosas es verificar si la combinación que tienes en mente ya ha ganado el primer lugar en el pasado (algo que estadísticamente querrás evitar). Hacer esto a mano o con la herramienta "Buscar" sorteo por sorteo es agotador. Vamos a automatizarlo.

Preparando tu archivo

  1. Abre tu Excel con el histórico del Melate.
  2. Asegúrate de tener los números ganadores (R1 a R6) en las columnas C a H.
  3. Guarda tu archivo como "Libro de Excel habilitado para macros (*.xlsm)".

El Código VBA

Presiona ALT + F11 para abrir el editor de Visual Basic, inserta un "Módulo" nuevo y pega el siguiente código. Esta macro tomará una combinación que tú definas y buscará en todo el historial si alguna vez ha salido exacta.

Sub BuscarCombinacionHistorica()
    Dim ws As Worksheet
    Dim ultimaFila As Long
    Dim i As Long
    Dim matchCount As Integer
    Dim miCombinacion(1 To 6) As Integer
    Dim encontrada As Boolean

    Set ws = ThisWorkbook.Sheets("Historico") ' Cambia el nombre si tu hoja se llama distinto
    ultimaFila = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
    encontrada = False

    ' Define aquí los 6 números que quieres buscar
    miCombinacion(1) = 4
    miCombinacion(2) = 15
    miCombinacion(3) = 23
    miCombinacion(4) = 38
    miCombinacion(5) = 42
    miCombinacion(6) = 51

    ' Recorrer todo el histórico (asumiendo que los datos empiezan en la fila 2)
    For i = 2 To ultimaFila
        matchCount = 0
        ' Comparar columnas C a H (3 a 8)
        If ws.Cells(i, 3).Value = miCombinacion(1) And _
           ws.Cells(i, 4).Value = miCombinacion(2) And _
           ws.Cells(i, 5).Value = miCombinacion(3) And _
           ws.Cells(i, 6).Value = miCombinacion(4) And _
           ws.Cells(i, 7).Value = miCombinacion(5) And _
           ws.Cells(i, 8).Value = miCombinacion(6) Then

            MsgBox "¡Alerta! Esta combinación ya ganó en el sorteo de la fila " & i, vbExclamation, "Búsqueda Completada"
            encontrada = True
            Exit Sub
        End If
    Next i

    If Not encontrada Then
        MsgBox "Combinación inédita. Nunca ha salido el primer lugar con estos números exactos.", vbInformation, "Búsqueda Completada"
    End If
End Sub

¿Cómo funciona?

La macro define un arreglo con tus 6 números y utiliza un ciclo For para escanear fila por fila (desde el sorteo más antiguo hasta el actual). Si encuentra una coincidencia exacta, detiene la búsqueda y te lanza una alerta indicando en qué fila está el sorteo. Si termina de leer los más de 3,000 sorteos y no encuentra nada, te confirma que tu combinación es "inédita".

Con este pequeño script, acabas de convertir tu hoja de Excel estática en una herramienta de validación automatizada.

63 lecturas Compartir: Facebook X
Volver al blog