You are here:---Rispondi a: [RISOLTO] Matrice a più intervalli
Rispondi a: [RISOLTO] Matrice a più intervalli 2018-08-18T08:04:27+00:00

Home Forum Domande su Formule e Funzioni [RISOLTO] Matrice a più intervalli Rispondi a: [RISOLTO] Matrice a più intervalli

BySalvBySalv
Amministratore del forum
    Post totali: 318

    Ciao, Giorgio, l’errore #NOME non riesce a trovare la funzione oppure l’hai scritta con nome non corretto.

    Ciao Sid ho visto la tua funzione, ma non da il conteggio giusto, sullo stesso range mi riporta 11, il problema è proprio il Select Case, in quanto “nc” deve essere incrementato solo di 1 perche ha trovato l’ambo o superiore in base ad “Etr”, invece il select incrementa in base al numero di estratti trovati.
    Buono il fatto di aver eliminato il doppio ciclo per i due range, avendoli accorpati, ed anche la ricerca sul singolo numero, Riduce i tempi di esecuzione.
    faccio in quel modo per far comprendere di più l’esecuzione.

    vedi il risultato in verde la funzione con il select case, ho evidenziato gli ambi da conteggiare.

    Cattura

    Ho fatto la modifica sulla macro di Sid che è migliore, eliminando il select case

    Function Ricer(ByVal Rn1 As Range, ByVal Rn2 As Range, ByVal Num As Range, ByVal Etr As Integer)
    Dim rg1 As Variant, rg2 As Variant, rng As Variant
    Dim x As Long, nArr As Long
    Dim nc As Integer, j As Integer, n As Integer
    
    rg1 = Rn1
    rg2 = Rn2
    rng = Array(rg1, rg2)
    
    For nArr = LBound(rng) To UBound(rng)
        For x = LBound(rng(nArr)) To UBound(rng(nArr))
            n = 0
            For j = 1 To 5
                n = n + WorksheetFunction.CountIf(Num, rng(nArr)(x, j))
            Next j
            If n >= Etr Then nc = nc + 1
        Next x
    Next nArr
    Ricer = nc
    End Function

    Fai Copia incolla in un Modulo

    Giorgio, mi sembra strano che non riesci ad aprire il file, che errore ti da?, qual’è la tua versione Excel?

    Ciao By Sal :bye:

    • Questa risposta è stata modificata 3 mesi fa da BySalv BySalv.

    Utilizzando il sito, accetti l'utilizzo dei cookie da parte nostra. maggiori informazioni

    Questo sito utilizza i cookie per fornire la migliore esperienza di navigazione possibile. Continuando a utilizzare questo sito senza modificare le impostazioni dei cookie o cliccando su "Accetta" permetti il loro utilizzo.

    Chiudi