Ciao Anthony ,ho eseguito le tue ultime istruzioni :
Ho interpretato che dove c'era RangeOrig(b).Row-1 questa doveva essere cambiata in OrigB.Row e RangeOrigA(a) in OrigA.Row ,,,,,, dico giusto
( l'esempio lo hai fatto con OrigA )
dunque se ho eseguto bene l'indicazioni siamo a questo punto ...........
ora la macro è come segue .
Sub frattali()
Dim ScUno As Range, ScDue As Range, Altz As Range, CorCel As Range
Dim OrigA As Range, OrogB As Range, LastR As Single, FreCells As Range
Dim CurCor As Double
Set OrigA = Range("A2") 'Prima origine dati
Set OrigB = Range("B2") 'Seconda origine dati
Set ScUno = Range("F1") 'Primo Offset
Set ScDue = Range("I1") 'Secondo Offset
Set Altz = Range("G1") 'Altezza dei range da correlare
Set CorCel = Range("H34") 'La cella con la formula CORRELA
Set FreCells = Range("L34") 'pointer a tre celle libere adiacenti
JSi = Val(Range("J1").Value) > 0 '<<<<ADD; J1 e' la cella flag
Application.ScreenUpdating = False
LastR = Cells(Rows.Count, OrigA.Column).End(xlUp).Row
If JSi Then LastJ = LastR - Altz - OrigA.Row + 1 Else LastJ = OrigB.Row - 1 '<<<<ADD & Modif
For I = OrigA.Row - 1 To LastR - Altz - OrigA.Row + 1
ScUno.Value = I
OrigA.Offset(ScUno, 0).Select
For J = OrigB.Row - 1 To LastJ
If JSi Then ScDue.Value = J '<<<<MOD
'OrigB.Offset(ScDue, 0).Select
If IsError(CorCel.Value) Then PLM = 0 Else PLM = CorCel.Value
If PLM > CurCor Then
CurCor = CorCel.Value
FreCells.Value = I: FreCells.Offset(0, 1) = ScDue.Value '
FreCells.Offset(0, 2) = CurCor
End If
Next J
Next I
FreCells.Select
Application.ScreenUpdating = True
End SubHo fatto alcune prove è sembra funzionare bene
sei proprio un fenomeno
.
A questo punto il più dovrebbe essere fatto !!!
Per lavorare quei dati come si fa a farglieli riportare in una colonna apposita , mi spiego :
Nell' esempio in figura sopra la macro ha trovato che la sequenza numerica fissa di riferimento partente in B26 composta da 4 elementi come specificato in cella G1 ha una correlazione di 0,99 con una sequenza di pari lunghezza ( cioè 4 elementi consecutivi ) trovati in colonna A a partire dalla cella A10 .
Ora questa sequenza come si fa a fargliela scrivere diciamo in una colonna , e prendiamo ad esempio la colonna X
in parole povere fargli riportare per esempio in questo caso A25 , A26 , A27 ossia la sequenza che da 0,99 in colonna X
Grazie 10Mila volte del tuo aiuto , e dando un' occhiata generale a questo forum quando posso devo dire che è grandioso