Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Estrarre i 5 valori piú alti in una colonna

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Estrarre i 5 valori piú alti in una colonna

Postdi RaeleaR » 25/02/15 09:02

Salve a tutti,

per illustrare meglio il mio problema ho creato un file di esempio che si trova qui:

http://www.filedropper.com/prova2_1

ed ho commentato la Sub dove ho il problema. In parole, ho un elenco di Libri (semplificato nell foglio1 (Hoja1)) ed un elenco delle vendite effettuate in due Posti di Libri nel foglio2 (Hoja2). La Userform1 nel file ha dei pulsanti di opzione che mostreranno alcuni dati. Per ora é attivo il solo il primo che dovrebbe, al selezionarlo, mostrare, nei 5 textbox sottostanti, i 5 libri piú venduti e le relative quantitá.
Essendo un principiante utilizzo spesso delle soluzioni, come dire.. caserecce, ma sino ad un certo punto il codice funziona, poi peró ricevo l'errore "Si richiede un oggetto valido" e l'errore "Variabile di oggetto non stabilita".
Ho commentato tutto nell'esempio di prova.
Potreste darmi una mano a capire dove sto sbagliando?
Grazie mille in anticipo
Rael
Win 8.1 - Office 2010 Esp
Avatar utente
RaeleaR
Utente Junior
 
Post: 70
Iscritto il: 26/09/14 08:55
Località: Argentina

Sponsor
 

Re: Estrarre i 5 valori piú alti in una colonna

Postdi Flash30005 » 25/02/15 11:39

Devi dichiarare due variabili
TxV
TxA
poi aggiungere e sostituire queste righe codice
Codice: Seleziona tutto
            max = 0   '<<<<<<<<<< esistente
            TxV = ""  '<<<< aggiungere
            TxA = ""  '<<<<< aggiungere
            For Each rcq In .Range("A5:A" & l)
                If Not IsEmpty(rcq.Offset(0, 3)) And rcq.Offset(0, 3) > max Then
                    max = rcq.Offset(0, 3)
                    'MsgBox rcq.Offset(0, 0)
                    TxV = rcq.Offset(0, 0) '<<<<< aggiungere
                    TxA = rcq.Offset(0, 1) '<<<< aggiungere
                End If
            Next
'A questo punto, soluzione casereccia, al primo ciclo di 'i' (cioé i = 1) vorrei _
 riempire i tre textbox del primo libro (miglior venduto) utilizzando sempre _
 il riferimento al range rcq e poi cancellarlo per escluderlo dalla ricerca _
 del massimo al ciclo seguente. Ma...
 
'            rcq.Offset(0, 3) = ""  'questa riga l'ho commentata perché mi dava  errore <<rcq qui non è più  definita>>
            If i = 1 Then
           
                Me.txtRefLi1 = TxV 'qui ricevo l'errore <<modificare>>
                Me.txtTitAut1 = TxA 'qui modificare
                Me.txtQnt1 = max
            End If


Ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Estrarre i 5 valori piú alti in una colonna

Postdi Flash30005 » 25/02/15 11:51

Per compilare la maschera però userei una soluzione più spartana ma funzionante
tipo questa
Codice: Seleziona tutto
MiomaX = Evaluate("Max(D:D)")
MioMin = Evaluate("Min(D:D)")
ContaM = 0
For Mmax = MiomaX To MioMin Step -1
    For RR1 = 5 To 14  '<<<<< ultima riga
        If Range("D" & RR1).Value = Mmax Then
        ContaM = ContaM + 1
            MsgBox RR1  '<<<< qui compilerai i box della userform a scalare
            If ContaM >= 5 Then Exit Sub
        End If
    Next RR1
Next Mmax


ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Estrarre i 5 valori piú alti in una colonna

Postdi RaeleaR » 25/02/15 17:09

Ciao Flash,
per prima cosa grazie per l'interessamento.
Nel codice del file di prova mi ero fermato alla sola definizione del primo ciclo, dove estraggo il primo titolo piú venduto, e grazie al tuo intervento ho capito che devo legare ad una variabile anche i dati che riempiranno le textbox del riferimento al libro e del titolo-autore libro, oltre che quella del valore massimo. (spero la mia lettura sia quella corretta)

Ora peró l'errore iniziale me lo dava quando, prima di cercare il secondo titolo piú venduto, andavo a assegnare il valore "" al range 'rcq.Offset(0, 3)' ..quello che contiene il primo valore massimo trovato..
In altre parole.. la mia idea era quella di eliminare il primo valore massimo trovato per escuderlo (ovviam) dalla ricerca nei cicli successivi. Se non cancello il primo massimo trovato mi valorizza il numero di copie vendute del secondo libro con lo stesso valore massimo.
Come faccio a cancellare quel valore dal range delle copie vendute?
qui di seguito il codice con i vari cicli esplicitati e, commentata, l'istruzione che mi restituisce l'errore.

Codice: Seleziona tutto
Private Sub optLib_Click()
                               
Dim shMPst, shLib As Worksheet
Set shMPst = Worksheets("Hoja2")
Set shLib = Worksheets("Hoja1")
Dim r, l, i, max, TxV, TxA
r = shMPst.Range("A" & Rows.Count).End(xlUp).Row
l = shLib.Range("A" & Rows.Count).End(xlUp).Row
Dim rcdata, rcrif, rcq As Range

    With shMPst
        For Each rcdata In .Range("A6:A" & r)
            If rcdata >= CDate(txtIni) And _
                rcdata <= CDate(txtFin) And _
                    rcdata.Offset(0, 2) <> "" Then

                        For Each rcrif In shLib.Range("A5:A" & l)
                            If rcrif = rcdata.Offset(0, 2) Then
                                rcrif.Offset(0, 3) = CInt(rcrif.Offset(0, 3)) + _
                                                        CInt(rcdata.Offset(0, 5))
                        Exit For
                            End If
                        Next rcrif
            End If
        Next rcdata
    End With

    With shLib
        For i = 1 To 5
            max = 0
            TxV = ""
            TxA = ""
            For Each rcq In .Range("A5:A" & l)
                If Not IsEmpty(rcq.Offset(0, 3)) And rcq.Offset(0, 3) > max Then
                    max = rcq.Offset(0, 3)
                    TxV = rcq.Offset(0, 0)
                    TxA = rcq.Offset(0, 1)
                End If
            Next

            rcq.Offset(0, 3) = ""  'pensavo fosse questa istruzione per _
                                     cancellare il primo valore massimo trovato _
                                     ma al scriverla cosí mi da errore. _
                        Qual'é quella corretta?
                                     
           
'Queste di seguito le istruzioni per valorizzare i dati dei 5 libri, soluzione _
 decisamente poco elegante.. potresti indicarmene una migliore?
            If i = 1 Then
                Me.txtRefLi1 = TxV
                Me.txtTitAut1 = TxA
                Me.txtQnt1 = max
            End If
           
            If i = 2 Then
                Me.txtRefLi2 = TxV
                Me.txtTitAut2 = TxA
                Me.txtQnt2 = max
            End If
           
            If i = 3 Then
                Me.txtRefLi3 = TxV
                Me.txtTitAut3 = TxA
                Me.txtQnt3 = max
            End If
           
            If i = 3 Then
                Me.txtRefLi3 = TxV
                Me.txtTitAut3 = TxA
                Me.txtQnt3 = max
            End If
           
            If i = 3 Then
                Me.txtRefLi3 = TxV
                Me.txtTitAut3 = TxA
                Me.txtQnt3 = max
            End If

        Next i
    End With

End Sub
Rael
Win 8.1 - Office 2010 Esp
Avatar utente
RaeleaR
Utente Junior
 
Post: 70
Iscritto il: 26/09/14 08:55
Località: Argentina

Re: Estrarre i 5 valori piú alti in una colonna

Postdi RaeleaR » 25/02/15 17:23

PS:
ho appena capito come risolvere tutti quegli If..Then.. per valorizzare i dati nelle textbox con questo codice.. :)

Codice: Seleziona tutto
Me.Controls("txtRefLi" & i) = TxV
Me.Controls("txtTitAut" & i) = TxA
Me.Controls("txtQnt" & i) = max


resta quindi il solo problema di come eliminare ad ogni ciclo il massimo trovato..
Rael
Win 8.1 - Office 2010 Esp
Avatar utente
RaeleaR
Utente Junior
 
Post: 70
Iscritto il: 26/09/14 08:55
Località: Argentina

Re: Estrarre i 5 valori piú alti in una colonna

Postdi Flash30005 » 25/02/15 19:56

Non devi eliminare il valore massimo, i dati di origine devo per correttezza rimanere
magari al posto di eliminare aggiungi un Flag in una colonna libera a fianco (esempio metterai valore 1 se è il max)
il controllo quindi terrà conto anche di questa condizione: cioè se la colonna con flag è vuota prende il valore.
Comunque reputo la macro che ho postato più semplice.
L'hai provata?

ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Estrarre i 5 valori piú alti in una colonna

Postdi RaeleaR » 25/02/15 20:34

l'idea del Flag nel range adiacente al primo massimo trovato mi sembra perfetta, non ci avevo pensato perché in realtá quei dati, una volta terminata l'interrogazione tramite lo Userform, devono essere cancellati..
Mentre la seconda proposta mi riservavo di chiederti delucidazioni perché cosí a prima vista non l'ho capita..
Non conosco la funzione Evaluate e quando sono andato nella Guida l'ho incontrata legata a WorkSheet o Microsoft Graph ..questo come primo dubbio.. ma nell'insieme non ho ben afferrato la sua logica.. puó essere anche che avendo letto la prima mi sia concentrato piú su quella che sulla seconda.. solo se hai tempo e voglia ti sarei davvero grato se potessi rispiegarmela o commentarla.. e ti ringrazio comunque sin d'ora per il tuo tempo
Rael
Win 8.1 - Office 2010 Esp
Avatar utente
RaeleaR
Utente Junior
 
Post: 70
Iscritto il: 26/09/14 08:55
Località: Argentina

Re: Estrarre i 5 valori piú alti in una colonna

Postdi Flash30005 » 25/02/15 20:52

Ok
MiomaX = Evaluate("Max(D:D)") Calcola il massimo valore contenuto nella colonna D (dove hai il venduto)
MioMin = Evaluate("Min(D:D)") Calcola il minimo valore contenuto nella colonna D (dove hai il venduto)
ContaM = 0 '<<< azzero il contatore dei valori trovati
For Mmax = MiomaX To MioMin Step -1 ' ciclo for next dal valore massimo al valore minimo con step 1 (intero visto che il venduto non ha decimali)
For RR1 = 5 To 14 '<<<<< ultima riga ' scansiono le righe interessate (valori della colonna D)
If Range("D" & RR1).Value = Mmax Then 'se corrisponde al valore Max (1) ContaM passerà da 0 a 1
ContaM = ContaM + 1
MsgBox RR1 '<<<< qui compilerai i box della userform a scalare pensavo ad una select case da 1 a 5
If ContaM >= 5 Then Exit Sub ' dopo il 5° valore trovato esce dalla routine
End If
Next RR1
Next Mmax

Ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Estrarre i 5 valori piú alti in una colonna

Postdi RaeleaR » 25/02/15 21:08

grazie per la spiegazione, adesso mi é chiara. Domanda.. tu preferiresti questa soluzione all'altra? e se si, perché? Solo perché é piú immediata?
Rael
Win 8.1 - Office 2010 Esp
Avatar utente
RaeleaR
Utente Junior
 
Post: 70
Iscritto il: 26/09/14 08:55
Località: Argentina

Re: Estrarre i 5 valori piú alti in una colonna

Postdi RaeleaR » 25/02/15 22:01

Flash, ho ancora bisogno di una mano.. non so perché non riesco a mettere questo benedetto flag nel range individuato come primo massimo trovato nella colonna.. o meglio nel range a fianco...
In piú non riesco a capire una cosa.. perché se alla variabile rcq le assegno un valore quando mi trovo fuori dal ciclo For Each.. Next mi dice "Variabile di Oggetto o blocco With non stabilito"? sono quasi sicuro che in altri punti del codice ho potuto fare questa assegnazione senza alcun problema..
Saresti cosí gentile da mostrarmi come fare?
Ho impostato una variabile p che dichiaro essere uguale ad 1 prima di entrare nel For Each..
Appena entro nel ciclo For Each gli dico di controllare che l'Offset(0, 1) di rcq non sia uguale ad 1 e se é vero
esegue il controllo per il valore massimo..
a questo punto e dopo che ho valorizzato i textbox del primo valore trovato, dovrei assegnare all'Offset(0, 1) di quello specifico rcq il valore 1 cosí che me lo scarti al giro successivo.. ma ricevo l'errore che ti ho indicato.. perché?
io ho scritto cosí: (riporto solo l'ultima parte della Sub)

Codice: Seleziona tutto
    With shLib
        For i = 1 To 5
            p = 1
            max = 0
            TxV = ""
            TxA = ""
            For Each rcq In .Range("A5:A" & l)
            If rcq.Offset(0, 4) <> 1 Then
                If Not IsEmpty(rcq.Offset(0, 3)) And rcq.Offset(0, 3) > max Then
                    max = rcq.Offset(0, 3)
                    TxV = rcq.Offset(0, 0)
                    TxA = rcq.Offset(0, 1)
                End If
            End If
            Next
                                               
                Me.Controls("txtRefLi" & i) = TxV
                Me.Controls("txtTitAut" & i) = TxA
                Me.Controls("txtQnt" & i) = max
            rcq.Offset(0, 4) = p '<<<< errore!
        Next i
    End With
Rael
Win 8.1 - Office 2010 Esp
Avatar utente
RaeleaR
Utente Junior
 
Post: 70
Iscritto il: 26/09/14 08:55
Località: Argentina

Re: Estrarre i 5 valori piú alti in una colonna

Postdi Flash30005 » 25/02/15 22:34

E' chiaro che essendo uscito dal ciclo quella variabile non è più definita
pertanto questa riga
Codice: Seleziona tutto
rcq.Offset(0, 4) = p

va inserita all'interno della Each quando avviene la condizione

Codice: Seleziona tutto
If Not IsEmpty(rcq.Offset(0, 3)) And rcq.Offset(0, 3) > max Then
        max = rcq.Offset(0, 3)
        TxV = rcq.Offset(0, 0)
        TxA = rcq.Offset(0, 1)
                rcq.Offset(0, 4) = p   '<<<<<<<<<< qui
End If


ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Estrarre i 5 valori piú alti in una colonna

Postdi RaeleaR » 25/02/15 22:49

Flash scusami, ma se la metto lí mi aggiunge l'1 in tutte le celle adiacenti ai valori su cui eseguo la ricerca del massimo..
Dovrebbe trovarsi fuori dal ciclo For Each che cicla tutti i valori di vendita, ma all'interno del ciclo For.. Next (da 1 a 5).. questo per logica, ma se la metto lí mi da l'errore per il motivo che mi hai spiegato.. come risolvo?
Rael
Win 8.1 - Office 2010 Esp
Avatar utente
RaeleaR
Utente Junior
 
Post: 70
Iscritto il: 26/09/14 08:55
Località: Argentina

Re: Estrarre i 5 valori piú alti in una colonna

Postdi Anthony47 » 25/02/15 23:14

Hai gia' fatto notevoli progressi, bene...
Personalmente il mio commento al file pubblicato e' stato "Mamma mia..."; quindi farei qualcosa di piu' drastico...
Intanto l' errore sull' istruzione rcq.Offset(0, 3) = "" era sistematico perche' posizionata al termine di un ciclo For Each rcq /Next rcq in cui tutti i possibili valori di rcq erano gia' stati usati, quindi rcq era "niente" e non poteva essere usato come oggetto di metodi o proprieta'.
E poi, perche' usi due txtbox per caricare le date, con quel corollario di eventi da gestire, e non usi il DatePicker?
Ad esempio:
-nel tuo ProgettoVba rinomina la Userform1 come Userform11
-scarica questi due file mettendoli in una stessa directory:
https://www.dropbox.com/s/tk1rst1pdbxx4 ... 1.frm?dl=0
https://www.dropbox.com/s/3yj689h71bh0f ... 1.frx?dl=0
-dall' editor del vba esegui Menu /File /Importa file; scegli il file byRAELEAR_UserForm1.frm, premi Apri
Dovresti aver importato una nuova Userform1; guarda la sua struttura e il suo codice rispetto al tuo.
Usa due DatePickers e la compilazione dei 5 gruppi di TextBox e' fatta col codice (simile alla tua "penultima" versione):
Codice: Seleziona tutto
    With shLib
        For i = 1 To 5
            cMax = Application.WorksheetFunction.max(shLib.Range("D5").Resize(l - 4, 1))
            CRow = Application.Match(cMax, shLib.Range("D5").Resize(l - 4, 1), False)
            If Not IsError(CRow) Then
                Me.Controls("txtRefLi" & i).Text = shLib.Range("A5").Offset(CRow - 1, 0).Value
                Me.Controls("txtTitAut" & i).Text = shLib.Range("A5").Offset(CRow - 1, 1).Value
                Me.Controls("txtQnt" & i).Text = shLib.Range("A5").Offset(CRow - 1, 3).Value
                shLib.Range("A5").Offset(CRow - 1, 3).ClearContents
            Else
                Me.Controls("txtRefLi" & i).Text = ""
                Me.Controls("txtTitAut" & i).Text = ""
                Me.Controls("txtQnt" & i).Text = ""
            End If
        Next i
    End With

Ovviamente e' uno spunto...

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13885
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Estrarre i 5 valori piú alti in una colonna

Postdi RaeleaR » 26/02/15 00:21

Ciao Anthony,
prima cosa.. si, é vero.. ho fatto dei notevoli progressi e puoi immaginare quanto ne sia felice :) ..diciamo peró, anche, che da cieco a vederci con un occhio solo é un notevole progresso :D ..comunque, scherzi a parte, si sento di aver fatto grandi passi avanti e ..
seconda cosa.. ma é vero che andava per prima ..lo devo a tutti voi del forum e dei vari che frequento.. senza di voi sarei ancora con le bende agli occhi.. :)

ah.. puoi immaginare che anche io ho detto "Mamma Mia!!" quando ho visto quello che mi hai passato.. ma era decisamente di sorpresa positiva..
beh.. ed ora.. bando alle chance .. o chancio alle bande.. volo a studiare il tutto!
Grazie Anthony!
Rael
Win 8.1 - Office 2010 Esp
Avatar utente
RaeleaR
Utente Junior
 
Post: 70
Iscritto il: 26/09/14 08:55
Località: Argentina

Re: Estrarre i 5 valori piú alti in una colonna

Postdi Flash30005 » 26/02/15 15:12

I consigli di Anthony sono sempre ottimi

A modo mio "spartano" avrei completato quanto dicevo nei vari post
nel click option dei più venduti (del tuo file originale) metti solo questo codice
Codice: Seleziona tutto
'XXX Si vogliono visualizzare i 5 Libri piú venduti
Private Sub optLib_Click()
Trovamax
End Sub


e in un modulo questa macro
Codice: Seleziona tutto
Sub Trovamax()
MiomaX = Evaluate("Max(D:D)")
MioMin = Evaluate("Min(D:D)")
URD = Range("D" & Rows.Count).End(xlUp).Row
ContaM = 0
For Mmax = MiomaX To MioMin Step -1
    For RR1 = 5 To URD
    TxV = Range("A" & RR1).Value
    TxA = Range("B" & RR1).Value
    TMax = Range("D" & RR1).Value
        If Range("D" & RR1).Value = Mmax Then
        ContaM = ContaM + 1
        Select Case ContaM
        Case 1
            UserForm1.txtRefLi1 = TxV
            UserForm1.txtTitAut1 = TxA
            UserForm1.txtQnt1 = TMax
        Case 2
            UserForm1.txtRefLi2 = TxV
            UserForm1.txtTitAut2 = TxA
            UserForm1.txtQnt2 = TMax
        Case 3
            UserForm1.txtRefLi3 = TxV
            UserForm1.txtTitAut3 = TxA
            UserForm1.txtQnt3 = TMax
        Case 4
            UserForm1.txtRefLi4 = TxV
            UserForm1.txtTitAut4 = TxA
            UserForm1.txtQnt4 = TMax
        Case 5
            UserForm1.txtRefLi5 = TxV
            UserForm1.txtTitAut5 = TxA
            UserForm1.txtQnt5 = TMax
        End Select
            If ContaM >= 5 Then Exit Sub
        End If
    Next RR1
Next Mmax
End Sub


Ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Estrarre i 5 valori piú alti in una colonna

Postdi RaeleaR » 26/02/15 15:55

Anthony non ho capito un paio di cose.. forse piú..

Sono andato a cercare nella guida il DTPicker.. ma quello che ho trovato piú vicino é 'Oggetto PickerDialog' ed i relativi Membri. Dove posso cercare altro? Perché vedo che l'hai 'personalizzato' come DTPickerFin e DTPickerIni.. cercavo qualcosa relativo a sintassi, ecc.. In piú leggo che "Offre una funzione di interfaccia utente come quadro di dialogo per selezionare persone o dati", per questo mi sembrava interessante capirne il funzionamento. Vedo inoltre che non hai dovuto "impostarlo".. come funziona?

Poi..
Nella sintassi di questa riga..
cMax = Application.WorksheetFunction.max(shLib.Range("D5").Resize(l - 4, 1))

..com'é che funziona con 'max' scritto minuscolo?

Nella sintassi di questa riga.
CRow = Application.Match(cMax, shLib.Range("D5").Resize(l - 4, 1), False)

..nella guida leggo che il terzo argomento della funzione Match é relativo al tipo di coincidenza e come excel compara l'argomento del valore_cercato nella matrice_dove_cercare.. questo valore puó essere -1, 0, 1. Poi nei Commenti, al terzo punto (che mi sembra il mio caso), dice "Se l'argomento di tipo_di_coincidenza é 1, Match cerca il valore che sia minore o uguale all'argomento del valore_cercato. L'argomento di matrice_cercata si deve specificare in ordine ascendente: ...-2, -1, 0, 1, 2, ..., A-Z, FALSE, TRUE." ..Se non chiedo troppo, non capisco questo dell'ordine ascendente.. ed il motivo per cui mettiamo FALSE, mi illumini?

Poi al penultimo punto dei Commenti, sempre del metodo Match, dice "Se Match non incontra nessuna coincidenza, restituisce il valore di errore #N/A. É questo il motivo per cui scriviamo "If Not IsError(CRow)", vero?

Grazie per la pazienza :)
Rael
Win 8.1 - Office 2010 Esp
Avatar utente
RaeleaR
Utente Junior
 
Post: 70
Iscritto il: 26/09/14 08:55
Località: Argentina

Re: Estrarre i 5 valori piú alti in una colonna

Postdi Flash30005 » 26/02/15 18:12

Grazie RaeleaR per avermi fatto passare del tempo a trovare una soluzione,
Sai, non avevo proprio nulla da fare e mi stavo annoiando, invece così mi sono divertito moltissimo soprattutto nel notare che non hai nemmeno guardato quanto fatto.

Spero che ci siano molti altri come te perché altrimenti sai come sarebbe noiosa la vita?!!! :D
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Estrarre i 5 valori piú alti in una colonna

Postdi RaeleaR » 26/02/15 18:31

Flashhhhhh.... perdonami... davvero non ho visto il tuo post quando ho risposto ad Anthony.. ti prego di credermi, non avrei motivo di dire cavolate.. non so perché non me lo abbia mostrato..
Intendo perfettamente il tuo risentimento e ti prego assolutamente di credermi, quando ho risposto ad Anthony il tuo post non mi é apparso..
Rael
Win 8.1 - Office 2010 Esp
Avatar utente
RaeleaR
Utente Junior
 
Post: 70
Iscritto il: 26/09/14 08:55
Località: Argentina

Re: Estrarre i 5 valori piú alti in una colonna

Postdi RaeleaR » 26/02/15 18:39

che situazione del cavolo.. guarda non so cosa dire.. di sicuro sento di doverti le mie scuse, ma per qualcosa che non ho fatto o non é dipeso da me.. sono in argentina, con una differenza di 4 ore (indietro), ma non credo che questo possa avere a che vedere con il caso.. sono andato a vedere gli orari dei post ed ovviamente riportano orari per cui la tua lamentela é piú che giustificata.. credimi non so cosa dire.. non sono il tipo di persona che questo incidente potrebbe indurre a pensare.. ho 53 anni e mi fregio di essere molto educato e rispettoso della pazienza e tempo altrui.. (l'etá ovviam non c'entra nulla, ma potrebbe essere un indicatore)..
per favore rispondimi qualcosa.. ci sono rimasto molto male anche io
Rael
Win 8.1 - Office 2010 Esp
Avatar utente
RaeleaR
Utente Junior
 
Post: 70
Iscritto il: 26/09/14 08:55
Località: Argentina

Re: Estrarre i 5 valori piú alti in una colonna

Postdi Flash30005 » 26/02/15 19:57

Non ti preoccupare, succede quando si è sulla pagina e poi si decide di rispondere senza aggiornare

Comunque prova ad usare la macro come ti ho indicato inserendola nel tuo file originale (senza cambiare la userform)

Ripeto la soluzione di Anthony è sicuramente più professionale ma per capire la logica occorrono anche le soluzioni più spartane
le mie macro sono semplici nel linguaggio e di facile comprensione e soprattutto funzionano senza creare problemi (quando ben fatte)

ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Prossimo

Torna a Applicazioni Office Windows


Topic correlati a "Estrarre i 5 valori piú alti in una colonna":


Chi c’è in linea

Visitano il forum: Nessuno e 14 ospiti