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 28 marzo 2026
    Bari
    53
    04
    01
    11
    09
    Cagliari
    67
    19
    47
    35
    64
    Firenze
    13
    48
    58
    39
    15
    Genova
    52
    87
    51
    79
    67
    Milano
    07
    79
    84
    28
    37
    Napoli
    26
    90
    68
    82
    67
    Palermo
    38
    57
    65
    20
    56
    Roma
    81
    66
    45
    53
    08
    Torino
    29
    47
    55
    78
    71
    Venezia
    07
    29
    76
    14
    15
    Nazionale
    17
    10
    21
    29
    15
    Estrazione Simbolotto
    Firenze
    02
    38
    33
    11
    39
Indietro
Alto