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
    martedì 18 novembre 2025
    Bari
    07
    35
    82
    62
    16
    Cagliari
    60
    42
    25
    31
    51
    Firenze
    48
    36
    03
    35
    25
    Genova
    17
    57
    09
    66
    85
    Milano
    69
    78
    37
    85
    16
    Napoli
    08
    27
    17
    26
    68
    Palermo
    24
    77
    19
    79
    45
    Roma
    45
    14
    27
    21
    07
    Torino
    27
    51
    35
    76
    63
    Venezia
    52
    05
    46
    10
    53
    Nazionale
    23
    69
    01
    02
    38
    Estrazione Simbolotto
    Torino
    24
    44
    23
    21
    02
Indietro
Alto