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
    giovedì 22 maggio 2025
    Bari
    08
    07
    31
    78
    34
    Cagliari
    71
    28
    69
    48
    61
    Firenze
    01
    36
    18
    17
    16
    Genova
    07
    66
    39
    27
    01
    Milano
    66
    89
    65
    42
    78
    Napoli
    49
    01
    83
    38
    43
    Palermo
    50
    57
    85
    79
    66
    Roma
    08
    52
    58
    60
    13
    Torino
    37
    07
    27
    32
    24
    Venezia
    21
    19
    09
    33
    11
    Nazionale
    03
    49
    06
    45
    22
    Estrazione Simbolotto
    Milano
    25
    39
    28
    36
    01
Indietro
Alto