Condividi:        

[ex 10] Ordinamento personalizzato con macro

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

[ex 10] Ordinamento personalizzato con macro

Postdi contiend » 18/03/15 22:58

Ciao a tutti,
sto cercando di fare un ordinamento personalizzato, ma con il metodo classico non ci riesco.
Magari con una macro è possibile, ma a questo punto serve la vostra esperienza :D

Come vedete da quest'immagine (che rispecchia una porzione del mio foglio)
Immagine
nella colonna C, i numeri evidenziati in GIALLO corrispondono a quei numeri che (dopo aver fatto FORMATTAZIONE CONDIZIONALE), sono superiori alla media della colonna C.

Ora, dovrei poter ordinare la tabella in questo modo :

1 - COLONNA C : dal più grande al più piccolo > prendendo solamente i valori superiori alla media dei dati presenti in colonna C
2 - COLONNA D : dal più grande al più piccolo

Ovviamente il tutto deve prendere in esame l'intera tabella (da COL. A a COL. P)

It's possible?
Fino ad ora prendevo "a mano" i dati e li copiavo in una cella a parte.

Grazie dell'attenzione.
Windows 10
OFFICE 2010
Avatar utente
contiend
Utente Senior
 
Post: 172
Iscritto il: 20/04/09 17:45

Sponsor
 

Re: [ex 10] Ordinamento personalizzato con macro

Postdi wallace&gromit » 18/03/15 23:16

Puoi usare il filtro avanzato, lo trovi sotto il menu "Dati", non sotto "home" (qualcuno forse un giorno riuscirà a spiegarmi la logica che c'è dietro ai banner del nuovo excel - ma questo non c'entra).
Dunque, come prima cosa devi assolutamente dare un titolo alle tue colonne (in riga 1)
ti preparari un piccolo range di appoggio fuori dalla tua tabella dove riporti il titolo e inserisci il criterio tipo ">x", dove x è la media
sotto "dati" scegli filtro "avanzate" e specifichi il tuo range con il criterio.
Puoi scegliere se filtrare i dati sul posto o creare una nuova tabella.
L'ordinamento lo fai come d'abitudine.

Forza Patatinaikos!!!!
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2174
Iscritto il: 16/01/12 14:21

Re: [ex 10] Ordinamento personalizzato con macro

Postdi contiend » 19/03/15 12:06

Grazie. Una funzionalità che non conoscevo.

Come faccio a mettere nella tabella CRITERIO,
il " >X "
(dove X cambia automaticamente di settimana in settimana dipendentemente dalla media di colonna C?). O lo devo sempre fare a mano?

Grazie ancora.
Windows 10
OFFICE 2010
Avatar utente
contiend
Utente Senior
 
Post: 172
Iscritto il: 20/04/09 17:45

Re: [ex 10] Ordinamento personalizzato con macro

Postdi wallace&gromit » 20/03/15 08:25

puoi inserire questa formula (adatta il C100 alle tue necessità)
Codice: Seleziona tutto
=">" & MEDIA(C2:C100)
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2174
Iscritto il: 16/01/12 14:21

Re: [ex 10] Ordinamento personalizzato con macro

Postdi contiend » 20/03/15 10:09

Funziona perfettamente.

Ora però mi sorge un altro problemino :oops:,
avevo creato una MACRO registrata,
Codice: Seleziona tutto
RPfiltra Macro
'

'
    Columns("A:P").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range( _
        "R16:R17"), CopyToRange:=Columns("V:AK"), Unique:=False
    Columns("V:AK").Select
    ActiveWorkbook.Worksheets("RIEPILOGO").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("RIEPILOGO").Sort.SortFields.Add Key:=Range( _
        "Y2:Y541"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
        xlSortNormal
    ActiveWorkbook.Worksheets("RIEPILOGO").Sort.SortFields.Add Key:=Range( _
        "X2:X541"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
        xlSortNormal
    With ActiveWorkbook.Worksheets("RIEPILOGO").Sort
        .SetRange Range("V1:AK541")
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    Range("AL1").Select
End Sub


utilizzando tutte le opzioni avanzate:
- intervallo elenco
- intervallo criteri
- copia in


Invece, se chiudo e riapro excel,
la macro non funziona più
se vado ad aprire le AVANZATE trovo questo.
Immagine
ovvero manca il "COPIA IN" .

Come posso risolvere?

Grazie del supporto
Windows 10
OFFICE 2010
Avatar utente
contiend
Utente Senior
 
Post: 172
Iscritto il: 20/04/09 17:45

Re: [ex 10] Ordinamento personalizzato con macro

Postdi wallace&gromit » 20/03/15 10:26

non mi sono addentrato nella tua macro, ma a suo tempo su un file di prova avevo fatto questa semplice macro, che funziona.
Codice: Seleziona tutto
Sub Macro1()
    Range("A6:D14").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range("A1:d2"), CopyToRange:=Range("H6:K6"), Unique:=False
End Sub
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2174
Iscritto il: 16/01/12 14:21

Re: [ex 10] Ordinamento personalizzato con macro

Postdi contiend » 20/03/15 10:46

L'ho adattata alle mie esigenze, ma niente :(

Codice: Seleziona tutto
Range("A1:D335").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range("r16:R17"), CopyToRange:=Range("v1:y335"), Unique:=False


Devo sempre , manualmente , andare su DATI, AVANZATE, cliccare su " COPIA IN" (che è sempre deselezionato) e allora funziona.
Windows 10
OFFICE 2010
Avatar utente
contiend
Utente Senior
 
Post: 172
Iscritto il: 20/04/09 17:45

Re: [ex 10] Ordinamento personalizzato con macro

Postdi wallace&gromit » 20/03/15 10:50

anche io, se apro la scheda, vedo sempre la spunta su "copia sul posto" però con la macro funziona, provo a vedere se riesco a capirci qualcosa.

Edit: ho provato anche con le tue impostazioni e funziona

Edit2: domanda: il file è di tipo xlsm, vero?
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2174
Iscritto il: 16/01/12 14:21

Re: [ex 10] Ordinamento personalizzato con macro

Postdi contiend » 20/03/15 11:15

Facciamo così: :)
ti allego il file (ripulito)
https://www.dropbox.com/s/wqbrdfkcz8vsd ... .xlsm?dl=0

Se clicchi sul tasto FILTRA (alla quale è legata la MACRO RPfiltra) vedi che non funziona. :(

Se invece vai su DATI > AVANZATE > spunti e applichi : funziona! :eeh:

Mah! :undecided:

Grazie mille
Windows 10
OFFICE 2010
Avatar utente
contiend
Utente Senior
 
Post: 172
Iscritto il: 20/04/09 17:45

Re: [ex 10] Ordinamento personalizzato con macro

Postdi wallace&gromit » 20/03/15 11:29

A me non funzionava nemmeno manuale!
però ho provato varie cose e mi sono imbattuto in un fenomeno strano:
sostituendo la formula che calcola la media con >12 è funzionato anche con il pulsante
poi ho riinserito la formula e ora funziona!
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2174
Iscritto il: 16/01/12 14:21

Re: [ex 10] Ordinamento personalizzato con macro

Postdi Anthony47 » 22/03/15 21:01

Nell' help Excel sull' uso di filtri avanzati viene detto che i criteri devono trovarsi al di sopra dell' elenco dei dati; la macro invece li posiziona in altra colonna, non so quanto e' importante questa deviazione...
Io avrei lavorato aggiungendo una colonna di servizio in cui avrei riportato solo i valori superiori alla media, e poi avrei ordinato sulla base di questa nuova colonna.
Comunque per far lavorare la macro utilizzata bisogna modificare la formula che calcola il "criterio", facendo in modo che il valore sia presentato all' americana, cioe' col "punto" quale separatore decimale; oppure ci si ferma ai soli interi (che mi pare sia ok nella struttura dati utilizzata) usando la formula
Codice: Seleziona tutto
=">" &INT( MEDIA(C2:C1000))


Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: [ex 10] Ordinamento personalizzato con macro

Postdi contiend » 23/04/15 15:54

Ora funziona tutto senza errori! Grazie mille
Windows 10
OFFICE 2010
Avatar utente
contiend
Utente Senior
 
Post: 172
Iscritto il: 20/04/09 17:45


Torna a Applicazioni Office Windows


Topic correlati a "[ex 10] Ordinamento personalizzato con macro":


Chi c’è in linea

Visitano il forum: Ricky0185 e 42 ospiti