Novità

Chiedo cortesemente ad utente miguelma87

i legend

Premium Member
Chiedo cortesemente ad utente miguelma87 ,un ulteriore piccolo aiuto riguardo al codice della funzione per ambo che mi ha gentilmente messo a disposizione.

le spiego la mia difficoltà,

utilizzando una suite gratuita per ufficio purtroppo ho cercato di adattare il codice come meglio ho potuto ,svincolando la funzione dal riferimento celle, e le

altre parti del codice proprie di vba.

Le posto il codice adattato:

Codice:
function Ver_Ambo( a as string, b as string) as integer  ' a =estrazione : b =numeri di ricerca

dim num(5):dim num2(5):dim lung as long :dim conta as integer

lung=len(a)

conta = 0
  For i = 1 To lung - 1 Step 3
   conta = conta + 1
     Num(conta) = Int(Mid(a, i, 2))
  Next i


lung = Len(b)
 
conta2 = 0

    For i = 1 To lung - 1 Step 3
         conta2 = conta2 + 1
              Num2(conta2) = Int(Mid(b, i, 2))
    Next i

conta_ris = 0

    For i = 1 To conta
       For j = 1 To conta2
          If Num(i) = Num2(j) Then
             conta_ris = conta_ris + 1
          end if
       next j
   next i



if conta_ris>1 then 
   ver_ambo=1 
 else
   ver_ambo=0
end if
 
end function

mi scuso se il codice risultante (tagliato) ha perso l'eleganza e sicuramente anche l'efficacia dell'originale
ma questo è dovuto alla mia totale inesperienza.

premesso ciò le espongo il mio problema.

la funzione anche così sembra funzionare ma ho un problema in alcuni casi particolari es:

a: 12.13.14.15.16 ; b: 14.14 oppure b: 17.13.13

mi da riscontro positivo perchè nei numeri di ricerca è presente un doppione.

mi potrebbe indicare una soluzione?

la ringrazio anticipatamente.

qualora non fosse possibile grazie ugualmente.

cordiali saluti

i legend
 
Ciao.
Prova questa modifca.

Codice:
Function Ver_Ambo(a As String, b As String) As Integer   ' a =estrazione : b =numeri di ricerca
Dim num(5): Dim num2(5): Dim Ris(5): Dim lung As Long: Dim conta As Integer


    lung = Len(a)
    conta = 0
    For i = 1 To lung - 1 Step 3
          conta = conta + 1
          num(conta) = Int(Mid(a, i, 2))
    Next i
    
    lung = Len(b)
    conta2 = 0
    For i = 1 To lung - 1 Step 3
         conta2 = conta2 + 1
         num2(conta2) = Int(Mid(b, i, 2))
    Next i
    
    conta_ris = 0
    For i = 1 To conta
       For j = 1 To conta2
          If num(i) = num2(j) Then
             conta_ris = conta_ris + 1
             Ris(conta_ris) = num(i)
          End If
       Next j
    Next i
       
    conta_fin = conta_ris
    If conta_ris > 1 Then
         For i = 1 To conta_ris - 1
             For j = i + 1 To conta_ris
                 If Ris(i) = Ris(j) Then
                     conta_fin = conta_fin - 1
                 End If
             Next j
         Next i
    End If
    
    If conta_fin > 1 Then
        Ver_Ambo = 1
    Else
        Ver_Ambo = 0
    End If
 
End Function

Ciao.
 
Buona sera miguelma 87

la ringrazio infinitamente, per la sua gentilezza e disponibilità, ed in ultimo ,ma non meno importante per la sua bravura.

Sembra funzionare tutto alla perfezione ora.

cordiali saluti

i legend
 

Ultima estrazione Lotto

  • Estrazione del lotto
    sabato 13 dicembre 2025
    Bari
    61
    81
    73
    68
    78
    Cagliari
    76
    59
    33
    78
    23
    Firenze
    10
    37
    58
    30
    71
    Genova
    17
    45
    37
    36
    72
    Milano
    10
    71
    70
    46
    87
    Napoli
    21
    11
    51
    68
    01
    Palermo
    84
    72
    26
    17
    79
    Roma
    39
    63
    46
    67
    50
    Torino
    35
    86
    79
    68
    85
    Venezia
    67
    68
    22
    77
    76
    Nazionale
    46
    12
    72
    65
    70
    Estrazione Simbolotto
    Venezia
    05
    13
    40
    35
    10
Indietro
Alto