Crea una maschera di ricerca con i filtri avanzati di Excel e un pizzico di vba

แชร์
ฝัง
  • เผยแพร่เมื่อ 8 ต.ค. 2024

ความคิดเห็น • 59

  • @paolobalestri1097
    @paolobalestri1097 3 ปีที่แล้ว +1

    Spettacolare tutorial....grazie

  • @Willy-vg7pu
    @Willy-vg7pu 4 ปีที่แล้ว +2

    Semplicemente grandioso.
    Grandioso excel senza dubbio ma grandiosa pure la tua spiegazione. Complimenti veri!!
    Quanto invidio la tua conoscenza del programma

  • @massibianconero
    @massibianconero 2 ปีที่แล้ว

    Mi hai salvato dalla follia!!! Grazie infinite

  • @Zaccaria72
    @Zaccaria72 4 ปีที่แล้ว +2

    Video assolutamente ottimo, sia nei contenuti che nell'esposizione. Il tuo canale è già diventato il mio preferito :-D

  • @albertotorcoletti7006
    @albertotorcoletti7006 3 หลายเดือนก่อน

    fantastico ho risolto un bel... problema , grazie

  • @alicevalsecchi3801
    @alicevalsecchi3801 3 ปีที่แล้ว +1

    Ottimo video! Sono riuscita ad ottenere di più da questi quindici minuti che da ore di spiegazioni altrove.
    Mi resta solo un quesito: supponiamo che io voglia integrare la possibilità di ricercare due o più termini in ogni colonna. Ad esempio ho associato delle parole chiave a un database di libri e voglio trovare tutti i libri che parlano di "astronavi" o di "viaggi nel tempo". Per farlo utilizzerei due righe per indicare l'opzione OR con i filtri avanzati. Nel momento in cui vado a registrare la macro, però, se considerassi l'estensione di due righe dovrei sempre compilare entrambi i campi, altrimenti, se in un caso volessi cercare SOLO i libri su "astronavi", la mia ricerca significherebbe "filtra i libri che parlano di astronavi OR i libri che parlano di qualunque cosa", e quindi avrei come risultato sempre tutti i dati della tabella originale. Non esiste un modo per dire che, se il secondo criterio di ricerca non è compilato, allora il filtro deve essere effettuato solo in base al primo termine?
    Mi rendo conto che è complicato da spiegare, spero che si capisca e che ci sia una soluzione facile... vorrei evitare di utilizzare i controlli a elenco.
    Di nuovo grazie per lo splendido lavoro!

    • @ExcelProfessionale
      @ExcelProfessionale  3 ปีที่แล้ว

      Scusa per il ritardo di questa risposta, periodo intenso.
      Per quanto riguarda la tua domanda, la soluzione più semplice è lavorare sul codice per variali l'intervallo delle celle dei criteri a seconda della presenza di una valore.
      Basta un blocco condizionale che verifica la presenza di un valore nella cella della seconda condizione e se lo trova esegui la ricerca con entrambe le condizioni altrimenti esegue la ricerca con solo la prima condizione.
      Qualcosa come questo:
      If Range("A6").value ="" then
      Worksheets("Fornitori").Range("ElencoFornitori[#All]").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range("A4:A5"), CopytoRange:=Range("A7:I7")
      else
      Worksheets("Fornitori").Range("ElencoFornitori[#All]").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range("A4:A6"), CopytoRange:=Range("A7:I7")
      endif
      Naturalmente lo devi adattare alle tue necessità
      Ciao

    • @alicevalsecchi3801
      @alicevalsecchi3801 3 ปีที่แล้ว

      @@ExcelProfessionale Ma ci mancherebbe anche! Anzi grazie grazie grazie. Posso solo dire: illuminante ☺️

  • @luigibarbato5592
    @luigibarbato5592 3 ปีที่แล้ว +2

    Ottimo tutorial, è stato utilissimo, ma nei dati filtrati sono stati i collegamenti ipertestuali ci sarebbe un modo per ovviare questo problema ?

    • @ExcelProfessionale
      @ExcelProfessionale  3 ปีที่แล้ว

      Ciao,
      scusa se rispondo solo ora, ma perdo un sacco di notifich.
      Per quanto riguarda la tua domanda, non capisco bene quale sia il problema. Hai filtrato un campo che contiene dei collegamenti ipertestuali e questi sono oggetto della ricerca?

  • @antoniotrezzaavagliano3059
    @antoniotrezzaavagliano3059 2 ปีที่แล้ว

    Molto interessante avrei proprio bisogno di consigli chiari ed efficaci.

  • @domenicomosemelara2857
    @domenicomosemelara2857 3 ปีที่แล้ว

    Grazie per i tuoi tutorial li sto seguendo con piacere. Desidero chiederti se il filtro vorrei farlo tra un arco temporale di date, per esempio tra il 1/1/21 al 31/01/21 come posso fare. Per adesso metto solo >01/01/21 e come risultato ricevo tutti i dati del 2021. Grazie e complimenti

    • @ExcelProfessionale
      @ExcelProfessionale  3 ปีที่แล้ว +1

      Ciao,
      in primo luogo mi scuso, ma tra il fiume di notifiche me ne perdo alcune.
      Per quanto riguarda la tua domanda, con il filtro avanzato puoi impostare più condizioni per lo stesso campo, predisponendo più celle per i criteri. Li metti in verticale sotto allo stesso titolo di campo, se vuoi una condizione con logica AND (adatta all'esempio che hai fatto), oppure a fianco sotto 2 titoli uguali se ti serve una logica OR.
      Spero di essere stato d'aiuto
      Ciao

    • @domenicomosemelara2857
      @domenicomosemelara2857 3 ปีที่แล้ว

      @@ExcelProfessionale mille grazie per la disponibilità e la spiegazione

  • @Andrea79675
    @Andrea79675 ปีที่แล้ว +2

    Grazie mille!
    Ho solo un problema:
    Ho una tabella di origine in cui ci sono delle celle vuote e il filtro mi nasconde tutte le righe che non contengono i dati completi.
    Esempio:
    In una tabella con intestazioni "Data, Descrizione, Categoria, Importo, Note", scrivendo nella casella di ricerca del filtro "gasolio", non mi vengono riportate le righe in cui la casella "Note" non è compilata.
    Come posso fare?

    • @ExcelProfessionale
      @ExcelProfessionale  ปีที่แล้ว

      Non credo di aver capito bene il problema, ma perché nelle celle vuote non inserisci uno o due spazi?

  • @nilaro1971
    @nilaro1971 ปีที่แล้ว

    Ottimo tutorial. Molto chiaro e dettagliuato. Ho solo una domanda da farti se possibile. Se nella colonna FORNITORI della tabella avessi per ogni fornitore più parole che lo descrivono, come posso fare per ricercare tutti i fornitori che abbiano nella loro descrizione ad esempio una certa parola?

    • @ExcelProfessionale
      @ExcelProfessionale  ปีที่แล้ว

      Buongiorno, Giovanni,
      per cercare una stringa all'interno del campo puoi usare i caratteri jolly.
      In sostanza aggiungi alla stringa da cercare "*" per sostituire qualsiasi numeri di caratteri, il "?" per qualsiasi singolo carattere.
      Per esempio se vuoi cerca "banana" dentro stringhe più lunghe, usa "*banana*".
      Puoi trovare maggiori informaizoni sui caratteri jolly vai qui:
      support.microsoft.com/it-it/office/uso-di-caratteri-jolly-nelle-ricerche-ef94362e-9999-4350-ad74-4d2371110adb
      Ti ricordo che puoi usare la logica "or" di ricerca se vuoi cercare più termini alternativi, semplicemente aggiungendo più celle o righe ai parametri di ricerca e inserisci più termini uno sotto l'latro.
      Ciao,
      Piero

    • @nilaro1971
      @nilaro1971 ปีที่แล้ว

      @@ExcelProfessionale Ciao Piero. Grazie per il suggerimento, ma non esiste un modo per poter configurare la macro in modo tale che funzionasse come se inserissi ogni volta che voglio cercare qualcosa "*" prima e dopo la parola?

    • @ExcelProfessionale
      @ExcelProfessionale  ปีที่แล้ว

      Se non ricordo male, la macro del tutorial richiama il filtro avanzato. Per fare quello che chiedi è necessario aggiungere un blocco di codice che scansiona l'intervallo di celle dei criteri e aggiunge al testo se presente l'asterisco prima e dopo la stringa.
      Di per se non è complicato, ma richiede più righe di codice della macro usata nel tutorial e molte spiegazioni, quindi ci farò un altro tutorial.
      Grazie del suggerimento

  • @gianlucamuchetti5524
    @gianlucamuchetti5524 4 ปีที่แล้ว +1

    Buonasera, ho creato da una tabella excel (formattata come tale) ed ho creato dei filtri esterni; su questa struttura ho creato un grafico nel quale avrei bisono di inserire il titolo del grafico pari ad uno dei valori del filtro. Come posso fare? Grazie!

    • @ExcelProfessionale
      @ExcelProfessionale  4 ปีที่แล้ว

      Una tabella Excel, un grafico che visualizza i dati della tabella e uno slicer?
      Per poter usare le formule cube dovresti passare dalle pivot, anzi power pivot, quindi con le tabelle Excel io userei il vba in modo che modifichi il titolo del grafico ogni volta che interagisci con il filtro. Ma non posso spiegarti come farlo in qualche riga scritta.
      Farò un tutorial sull'argomento-
      Il vecchio metodo di inserire come titolo del grafico un riferimento alla prima cella sotto al titolo del campo non puoi utilizzarlo, perché le tabelle excel filtrano la pagina, mentre le pivot no.
      Quindi se non vuoi passare dal vba, ti consiglierei di crea una pivot per mostrare gli stessi dati e il grafico lo aggancerei alla pivot. Poi crea lo slicer, poi duplica la pivot, smontala tutto eccetto l'elenco delle categorie del campo. Lo slicers sarà collegato a entrambe le pivot e filtrando con lo slicers, l'elenco mostrerà solo un valore e puoi usare il metodo del riferimento.
      Faro un tutorial anche di questo.

  • @danilobunetto9143
    @danilobunetto9143 8 หลายเดือนก่อน

    Salve, complimenti per i video.
    Volevo chiedere un consiglio e magari un video che mi possa aiutare
    dovrei creare un database con qualche migliaio di prodotti per il negozio dove lavoro e creare un preventivatore che faccia riferimento a quel database. quindi un modo semplice per trovare il prodotto da preventivare
    Grazie mille in anticipo

    • @ExcelProfessionale
      @ExcelProfessionale  8 หลายเดือนก่อน +1

      Grazie del suggerimento, ho preso nota.
      Nel frattempo ti invito a studiare il dimostrativo descritto da questo post:
      www.excelprofessionale.it/gestionale-preventivi-revisionato/

    • @danilobunetto9143
      @danilobunetto9143 8 หลายเดือนก่อน

      le potrei inviare il foglio excel che usiamo al momento? perché abbiamo la necessità di aggiungere alcune voci di spese che sosteniamo agli articoli che preventiviamo. Così da avere un prezzo realistico di quanto costa a noi per poi fare un prezzo adeguato al cliente@@ExcelProfessionale

    • @ExcelProfessionale
      @ExcelProfessionale  8 หลายเดือนก่อน

      certo che può. Fornisco consulenze ad aziende e progessionisti anche per la revisione e automazione degli strumenti su Excel. Invii la mail a pieroATexcelprofessionale.it (sostituisca la AT con @) con le spiegazioni e il file
      Buona giornata

  • @nuovovideo
    @nuovovideo 4 ปีที่แล้ว +1

    Se io volessi utilizzare questo filtro direttamente nella pagina dei fornitori è Possibile?

    • @ExcelProfessionale
      @ExcelProfessionale  4 ปีที่แล้ว +1

      Sì, certo, il filtro avanzato può essere usato per filtrare direttamente la basedati, devi scegliere l'impostazione corretta nella maschera. Inoltre c'è la questione di dove posiziona i controlli per la ricerca, che richiede spazio. Di solito vengono posizionati sopra la tabella, o a destra se questa è piccola.

  • @pietroanselmo1634
    @pietroanselmo1634 4 ปีที่แล้ว

    Ciao, Bellissimo Video, Grazie. devo chiederti... al punto 5:03 di convalida dati al box Origine mi sfugge il primo simbolo che digiti non lo colgo... Puoi per favore scrivermi il nome completo qui...? di nuovo grazie.

    • @ExcelProfessionale
      @ExcelProfessionale  4 ปีที่แล้ว

      Ciao, Pietro, grazie per l'apprezzamento
      Per quanto riguarda quello che inserisco come origine dell'elenco è "=FCODfiltro" cioè il nome che ho dato al campo del codice della tabella
      Buona giornata

    • @pietroanselmo1634
      @pietroanselmo1634 4 ปีที่แล้ว

      Mille Grazie per la risposta, la mia vista inizia a far difetto, non riuscivo ad avere un'immagine nitida dell'uguale...
      Perfetto
      ora funziona.
      ancora Grazie...

  • @fabiomonici4188
    @fabiomonici4188 5 ปีที่แล้ว +1

    Ciao, ho seguito le istruzioni ma mi copia tutta la tabella del secondo foglio...sbaglio qualcosa?

    • @ExcelProfessionale
      @ExcelProfessionale  5 ปีที่แล้ว

      Ciao, Fabio, se la macro copia la tabella intera il problema è probabilmente legato ai criteri. Devi verificare: 1. che la macro punti correttamente alle celle che contengono i criteri come ti mostro nel video, 2 che i titoli dei criteri corrispondano ai titoli dei campi della tabella relativa, altrimenti i criteri non saranno utilizzabili. In caso di ulteriori problemi non esitare a scrivermi. Ciao

  • @nicoscanavini6895
    @nicoscanavini6895 11 หลายเดือนก่อน

    Ottimo video... ci ho messo un po (commettevo qualche errore) ma ci sono riuscito. Avrei un paio di domande: 1) per inserire un 2' o 3' filtro nela macro, basta ripetere i passi fatti per il primo? 2) ho dei record che si ripetono, per non averle tutte nell'elenco a tendina, come faccio a eliminare i duplicati? o posso usare un elenco esterno alla tabella senza duplicati? Grazie in anticipo per le risposte

    • @nicoscanavini6895
      @nicoscanavini6895 11 หลายเดือนก่อน

      altra domanda... ho provato ad aggiungere un filtro. Tipo 1-3 (mi rimanda risultati x 3-1) e 3-1 (mi rimanda risultati x1-3), praticamente alla rovescio. Tranne il 3-0 che non lo vede proprio e il 0-4 che me lo riporta corretto.... help please!! 😀

    • @ExcelProfessionale
      @ExcelProfessionale  11 หลายเดือนก่อน +1

      BUongiorno, Nico,
      riguardo le tue domande:
      >> 1) per inserire un 2' o 3' filtro nela macro, basta ripetere i passi fatti per il primo?
      sì, devi preparare i controlli relativi e modificare il range dei criteri
      se vuoi approndire la ricerca avanzata ti invito a guardare questo tutorial:
      th-cam.com/video/Uq9Py-8D_Tw/w-d-xo.html
      >> 2) ho dei record che si ripetono, per non averle tutte nell'elenco a tendina, come faccio a eliminare i duplicati? o posso usare un elenco esterno alla tabella senza duplicati?
      nella finestra del filtro avanzato devi taggare la voce copia univoca dei record
      Ciao

    • @ExcelProfessionale
      @ExcelProfessionale  11 หลายเดือนก่อน +1

      mmmh, penso sia una questione di formato del valore cercato o della colonna in cui lo cerchi o entrambi. Prova a impostare il formato testo in entrambi

    • @nicoscanavini6895
      @nicoscanavini6895 11 หลายเดือนก่อน +1

      Grazie mille!

    • @ExcelProfessionale
      @ExcelProfessionale  11 หลายเดือนก่อน

      Prego, piacere mio

  • @pietroanselmo1634
    @pietroanselmo1634 4 ปีที่แล้ว

    ops... ho riscontrato due problematiche, che spero possano esser corrette... la prima è: finestra a tendina i codici non sono progressivi e nell'altro caso il secondo è: l'Autore compare tante volte quante volete l'ho inserito; mi spiego: libri diversi ma medesimo autore, ebbene questo quando apro il menù a tendina è ripetuto quante volte è stato inserito... le risposte invece sono soddisfacenti...
    Ancora grazie.
    sono un piccolo conoscitore di Excel, anzi vado molto ad intuito nel mio caso e il suo aiuto mi è stato di grande aiuto...
    ma fatti quei due files di Excel il mio bisogno finisce qui....

    • @ExcelProfessionale
      @ExcelProfessionale  4 ปีที่แล้ว

      L'elenco con la convalida proposto era una versione elementare, in quanto il tutorial era centrato sul filtro avanzato
      Per realizzare filtri a elenco univoci e ordina con la convalida le consiglio di guardare questi tutorial che trova sul canale:
      1. th-cam.com/video/yOp4kRc_n8o/w-d-xo.html
      2. th-cam.com/video/HXQFOvodoX0/w-d-xo.html
      3. th-cam.com/video/sD9VAPmc6oE/w-d-xo.html
      4. th-cam.com/video/g8pohxL98q8/w-d-xo.html
      5. th-cam.com/video/gdcmw6fHvj4/w-d-xo.html
      I primi 3 spiegano la convalida dei dati, gli ultimi 2 spiegano come realizzare controlli a elenco dinamici
      Buono studio

    • @pietroanselmo1634
      @pietroanselmo1634 4 ปีที่แล้ว

      @@ExcelProfessionale wow, ne ho da studiare, ma sono contento, visto che, niente vacanze, almeno faccio una cosa che mi piace...
      La Ringrazio di cuore per il materiale e per avermi risposto; sono contento.
      Grazie.

  • @massimiliano8406
    @massimiliano8406 2 ปีที่แล้ว

    Buongiorno !
    Io ho seguito il tutorial ma sicuramente ho commesso un errore perchè non gira là macro ! Da errore 1004. In realtà anche modificando là macro e aggiungendo per così dire il foglio in cui si trova la tabella dei dati, non comprendo come “dire” ad Excel che il foglio della maschera è diverso ! (nel tutorial Foglio4 per intenderci). Se io cambio gli intervalli in riga due, Criteria.Range e CopyToRange inserendo quelli della maschera di ricerca, cosa dice ad Excel che nel mio caso il foglio della maschera di ricerca, si chiama “Ricerca” ?
    OK ad anteporre quale sia il foglio dei dati con worksheets(“MASTER”). etc etc ma concettualmente non è chiaro come Excel faccia a sapere il nome dell’altro foglio ! HELP ME 🤔

    • @ExcelProfessionale
      @ExcelProfessionale  2 ปีที่แล้ว +1

      Se non ho capito male vuoi indicare il foglio e non solo il range. In sintesi lo devi aggiungere alla dichiarazione.
      Cioè Range("A1").Value è una dichiarazione che si riferisce al valore della cella A1.
      Secondo la legge delle omissioni excel presuppone che ti stia riferendo agli oggetti "padre" attivi, cioè al foglio attivo, della cartella attiva di excel.
      Per indicare il range di un foglio diverso devi indicarlo: Worksheets("Foglio1").Range("A1").Value. Questo ovunque la dichiarazione sia.
      Ti ricordo anche che in realtà la dichiarazione Range("A1").Value è una sintesi della dichiarazione completa Excel.Application.Workbooks("Foglio excel attivo").Worksheets("pagina attiva").Range("A1").Value.
      Ti consiglio di guardare i tutorial del minicorso introduttivo al vba:
      th-cam.com/video/nETKMJOKm8c/w-d-xo.html
      e di leggere la guida che trovi su ExcelProfessionale:
      www.excelprofessionale.it/guida-vba/

    • @massimiliano8406
      @massimiliano8406 2 ปีที่แล้ว +1

      Ok 👍 provo a fare questo ulteriore controllo inserendo la dichiarazione sennó mi permetto di aggiungere esattamente le due righe della macro, in modo che sia anche più intellegibile a tutti gli interessati !
      Grazie della risposta really fast

    • @massimiliano8406
      @massimiliano8406 2 ปีที่แล้ว

      Ho fatto, o almeno credo di aver interpretato il suggerimento ma non ha sortito l’effetto sperato.
      Di seguito là macro: Worksheets(“MASTER”).Range(“A1:AE2821”).AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _ Worksheets(“Ricerca”).Range(“B3:B4”), CopyToRange:=Worksheets(“Ricerca”).Range(“G3:H28”)

    • @massimiliano8406
      @massimiliano8406 2 ปีที่แล้ว +1

      Ovviamente il foglio maschera si chiama “Ricerca” e le celle dove visualizzare il risultato, sono trasposte in verticale; Per il resto ho seguito il tutorial alla lettera ....😔

    • @massimiliano8406
      @massimiliano8406 2 ปีที่แล้ว +1

      Anche il test durante la registrazione macro di visualizzazione della intera tabella, sotto quella originale (quindi nell’ambito dello stesso foglio di lavoro) funziona perfettamente. E là macro lanciata da pulsante che mi genera errore 1004 !

  • @vitocutrera3974
    @vitocutrera3974 4 ปีที่แล้ว +1

    Non sono capace a far riconoscere alla macro i criteri di ricerca.

    • @ExcelProfessionale
      @ExcelProfessionale  4 ปีที่แล้ว

      Ciao, Vito, in primo luogo ti invito a verificare che i titoli sopra i controlli corrispondano ai nomi dei campi della tabella Excel, questo perché i criteri devono indicare titolo e valore; se corrispondono ti invito a verificare che la macro funzioni, come presumo (basta cancellare i criteri); infine ti invito a verificare che l'istruzione nella macro punti alle celle corrette dei criteri, quindi premi Alt+f11 vai al modulo con la macro, verifica che il parametro dei criteri indichi il range di celle corretto compresi i titoli. Se non funziona ancora, ti invito a scrivermi a piero at excelprofessionale.it e a inviarmi il foglio. Ciao

  • @Reliscian
    @Reliscian 3 ปีที่แล้ว

    Ok? ok XD