Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

una macro per filtrare, con valori presi da celle

Ultimo Aggiornamento: 21/10/2016 14:14
Post: 1
Registrato il: 20/10/2016
Utente Junior
2016
OFFLINE
20/10/2016 18:40

Buonasera, necessito di un aiuto con una macro.
Ho un database di 150.000 righe e 10 colonne.
Devo compilare una semplice macro che filtra la visione del database secondo dei valori presi da celle.

Database compreso in $A$1:$J$150000
devo filtrare il database secondo le seguenti indicazioni:
- colonna G compresa tra valore di $M$1 e valore di $N$1
AND
- colonna H compresa tra valore di $M$2 e valore di $N$2
AND
- colonna I uguale al valore di $M$3

una volta immessi i valori di filtro nelle caselle $M$1, $N$1, $M$2, $N$2, $M$3, premo il pulsante della macro che mi filtra in automatico il database (senza fare manualmente i filtri ogni volta).

Qualcuno che mi aiuti nella compilazione della macro?? non credo sia troppo difficile ma a smanettare con i codici non saprei da dove partire....ho provato a registrare una macro ma non ho ottenuto nulla di ciò che vorrei
Grazie infinite
Post: 1
Registrato il: 20/10/2016
Utente Junior
2016
OFFLINE
20/10/2016 20:30

tentativo
ho provato ad inserire questo codice nella macro. vedo che mi inserisce i valori delle celle M1 ed N1 nei campi di range del filtro, ma mi filtra l'intero database a 0 righe (come se nessuna riga fosse compresa tra i due valori, cosa che non è vero). dove ho sbagliato??

Sub filtro1()
Dim crit1 As String
Dim crit2 As String
crit1 = ">" & Range("M1")
crit2 = "<" & Range("N1")
ActiveSheet.Range("$A$1:$J$150000").AutoFilter Field:=8, Criteria1:=crit2, Operator:=xlAnd, Criteria2:=crit1
End Sub
Post: 4.948
Registrato il: 14/11/2004
Utente Master
Office 2019
ONLINE
21/10/2016 08:18

Filtro dati
Ciao Piergiacomo, oltre le macro che senza un esempio anche con dati fasulli e poche righe, non possiamo darti.

Ci sono altri metodi, il più semplice trasformare il database in "Tabella", l'altro che vista la grossa mole di dati msarebbe più indicato una Tabella Pivot.

ma torniamo al punto di partenza per l'esempio di come sono i dati è come vorresti che fossero filtrati.

Ciao By Sal [SM=x423051]

se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui
Post: 2
Registrato il: 20/10/2016
Utente Junior
2016
OFFLINE
21/10/2016 11:55

Grazie Sal per la risposta. Ti invio un file ridotto di quello che intendo, con la macro FILTRA che ho provato a scrivere

https://www.dropbox.com/s/etq02kme38n3ln8/FILTRA%20x%20forum.xlsm?dl=0

il problema è che:
- i filtri per numeri "uguale a..." mi funzionano (vedi colonna gialla del file)
- i filtri per testo "uguale a..." mi funzionano (vedi colonna arancione del file)
- invece i filtri per numeri "maggiore di..." AND "minore di..." NON MI FUNZIONANO (vedi colonne azzurra e verde del file), mi ritornano colonne vuole come se non esistesse il range (cosa che invece esiste eccome!)

che poi non capisco una cosa: perchè in tutte e 4 le colonne colorate filtrate mi compare sempre la scritta "filtro testo" una volta filtrate, quando solo 1 su 4 è un filtro testo e le altre 3 sono filtri numeri?
Non è che il problema sia un'incongruenza di numero/testo dei dati delle colonne della tabella??
boh....mi sto scervellando da 3 giorni su questa cosa che mi blocca l'intero lavoro....
[Modificato da Piergiacomo Jimmy Fontana 21/10/2016 11:56]
Post: 3.419
Registrato il: 13/03/2012
Città: LIVORNO
Età: 78
Utente Master
2010
OFFLINE
21/10/2016 13:15

questo è crossposting   vedi http://www.excelvba.it/Forum/thread.php?f=1&t=11178

----------
Win 10 - Excel 2010
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Post: 2.347
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Veteran
Excel 365
OFFLINE
21/10/2016 13:35

E non solo anche qui

http://www.pc-facile.com/forum/viewtopic.php?f=26&t=107670

Alfredo
Post: 3
Registrato il: 20/10/2016
Utente Junior
2016
OFFLINE
21/10/2016 14:14

RISOLTO: Il vba vuole il punto come separatore decimale, non la virgola, quindi tutti i range di filtro "da...a..." devono essere segnati con punto.


per quanto riguarda il crossposting....ragazzi, avevo bisogno di una risposta veloce ad un problema che mi ha tenuto bloccato per giorni. in questo modo l'ho ottenuta e per giunta ho condiviso la soluzione con tutti.

peace&love

Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 06:50. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com