La struttura dei dati è come temevo, quindi credo sia meglio fare come nell'esempio di prima. Per essere più precisi:

codice:
Dim conteggio(90) As Integer

Do Until rs.EOF
    conteggio(rs("BA1")) = conteggio(rs("BA1")) + 1
    conteggio(rs("BA2")) = conteggio(rs("BA2")) + 1
    conteggio(rs("BA3")) = conteggio(rs("BA3")) + 1
    conteggio(rs("BA4")) = conteggio(rs("BA4")) + 1
    conteggio(rs("BA5")) = conteggio(rs("BA5")) + 1
    conteggio(rs("CA1")) = conteggio(rs("CA1")) + 1
    conteggio(rs("CA2")) = conteggio(rs("CA2")) + 1
    conteggio(rs("CA3")) = conteggio(rs("CA3")) + 1
    'eccetera

    rs.MoveNext
Loop
Al termine del ciclo ti ritrovi un array (conteggio) contenente quante volte sono apparsi i vari numeri, per esempio per sapere quante volte è stato estratto il numero 33 basta guardare il valore di conteggio(33)