- Codice: Seleziona tutto
Sub Trovambi()
Dim VArr 'è la variabile che contraddistingue l'archivio
Dim i As Integer, J As Integer, M As Integer, n As Integer
'"M" è = da 1 a 90---- "N" è = a "M" + 1 ma sempre fino a 90 (sono i 2 elementi dell'ambo)
Dim Ctr As Integer, Ambi As Integer, LastR As Long
'
TargAm = [ar1] 'Nella cella AR1 metto il numero di Ambi che voglio trovare
Range("AQ4:AS2000").Clear 'pulisce l'intervallo dove si piazzeranno gli ambi trovati che abbiano le caratteristiche
'giuste cioè siano usciti in un numero uguale di quello indicato nella cella "ar1" TargAm = [ar1]
LastR = Cells(Rows.Count, 2).End(xlUp).Row
VArr = Range("i3:z" & LastR).Value ' " i3 " è la cella d'inizio " z " è l'ultima cella dell'archivio,cioè 18 colonne & LastR fino all'ultima riga(variabile)
aaaa = UBound(VArr, 1)
For M = 1 To 90 ' "M" è il primo elemento dell'ambo
' Application.ScreenUpdating = False
For n = M + 1 To 90 ' "N" è il secondo elemento dell'ambo
Ambi = 0 'per adesso gli ambi sono ZERO
For i = 1 To UBound(VArr, 1)
Ctr = 0
For c = 1 To 18 '
If VArr(i, c) = M Then Ctr = Ctr + 1
If VArr(i, c) = n Then Ctr = Ctr + 1
Next c
If Ctr >= 2 Then Ambi = Ambi + 1
Next i
If Ambi > TargAm Then 'se "Ambi" è in un numero maggiore di quello indicato nella cella "Ar1" TargAm = [Ar1] Allora....
NRow = Cells(Rows.Count, "AS").End(xlUp).Offset(1, 0).Row
Cells(NRow, "AQ") = M: Cells(NRow, "AR") = n: Cells(NRow, "AS") = Ambi
End If
Next n
' Application.ScreenUpdating = True
Next M
End Sub
Ho questa macro che mi fece anni nel 2011 Anthony, nel corso degl'anni l'ho leggermente modificata fino ad oggi. Cosa fa è presto detto : Trova gli ambi che nell'ambito
dell'archivio (Che può essere di num di righe variabile) che abbiano la caratteristica di essere usciti in un num di volte che io indico nella cella "AR1" e me li fa
vedere a partire da Range("AQ4:AS2000") in questo modo in AQ4 il primo num dell'ambo in AR4 il secondo num e in AS4 il num di volte che è è uscito.
Se non chiedo troppo ora vorrei fare un'altra macro che facesse un lavoro simile, fermo restante le coordinate dell'archivio, ovvero mi trovasse si gli ambi, ma invece delle "volte" che è
uscito trovasse il "ritardo in atto" che deve essere(il ritardo) > di quello che io indico nella cella AR1
Ringrazio fin d'ora chi volesse aiutarmi