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 01 febbraio 2025
    Bari
    83
    17
    12
    67
    85
    Cagliari
    50
    41
    18
    04
    46
    Firenze
    73
    63
    57
    74
    86
    Genova
    81
    22
    42
    37
    53
    Milano
    07
    60
    76
    11
    56
    Napoli
    87
    25
    66
    05
    33
    Palermo
    39
    58
    06
    89
    40
    Roma
    63
    23
    04
    14
    61
    Torino
    56
    59
    26
    81
    10
    Venezia
    39
    68
    37
    50
    07
    Nazionale
    19
    89
    28
    18
    33
    Estrazione Simbolotto
    Cagliari
    16
    18
    44
    24
    12

Ultimi Messaggi

Indietro
Alto