una macro per filtrare, con valori presi da celle

Versione Completa   Stampa   Cerca   Utenti   Iscriviti     Condividi : FacebookTwitter
Piergiacomo Jimmy Fontana
00giovedì 20 ottobre 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
Piergiacomo Jimmy Fontana
00giovedì 20 ottobre 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
by sal
00venerdì 21 ottobre 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]

Piergiacomo Jimmy Fontana
00venerdì 21 ottobre 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....
patel45
00venerdì 21 ottobre 2016 13:15
questo è crossposting   vedi http://www.excelvba.it/Forum/thread.php?f=1&t=11178
alfrimpa
00venerdì 21 ottobre 2016 13:35
E non solo anche qui

http://www.pc-facile.com/forum/viewtopic.php?f=26&t=107670
Piergiacomo Jimmy Fontana
00venerdì 21 ottobre 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

Questa è la versione 'lo-fi' del Forum Per visualizzare la versione completa clicca qui
Tutti gli orari sono GMT+01:00. Adesso sono le 06:12.
Copyright © 2000-2024 FFZ srl - www.freeforumzone.com