"estrapolare" alcune righe di un foglio per ottenere ogni mattina un "report" leggibile

Anonimo
2014-09-18T18:14:42+00:00

Salve a tutti, vi chiedo aiuto per capire come meglio affrontare un problema:

Ho un foglio, foglio1 che contiene migliaia di righe (ordini) con articolo, codice, data ordine, data consegna, ...

che ogni mattina viene aggiornato scaricando i dati dal DB del gestionale, quello che vorrei è "estrapolare"

ovvero mettere in evidenza, in automatico, subito dopo aver aggiornato i dati con "aggiorna tutto" tutte quelle righe

che, in colonna AA hanno una "data consegna" inferiore ad un numero di giorni (da oggi) pari al valore scritto in una cella

es.='foglio2'!A1=15gg.

In pratica, quotidianamente ho la necessità di raccogliere ed ordinare per data tutti quegli ordini che sono già scaduti o che scadranno

nei prossimi xx giorni (dove xx è il valore indicato nella cella 'foglio2'!A1).

Sapreste dirmi quale metodo o funzione potrei usare per, ad esempio ritrovare riscritti o riportati (o altro) solo quelle righe nel foglio2?

Voi come lo fareste?

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2014-09-21T08:10:32+00:00

...

Grazie Andrea, ottimo suggerimento, mai usato prima i filtri avanzati, per il momento sono riuscito a fare questo, ma ... mi rimangono 2 problemi:

  1. sotto "consegnato" voglio filtrare anche tutti quelli che non hanno data di consegna (tengo quindi solo quelli ancora non consegnati), ma non sò come fare per dire "vuoto" , "=0" non lo accetta, nemmeno posso mettre val.vuoto ... come posso fare?
  2. ho registrato una macro che in DATI aggiorna tutti i dati (così aggiorna i dati), poi ne ho registrata un altra che lancia il comando filtro avanzato, ma non sò come fre in modo di metterle assieme in un unica macro nè come fare perchè si avvii e si esegua in automatico ad ogni apertura del file excel ... sai aiutarmi anche quì?

...

  1. per filtrare gli ordini non consegnati puoi utilizzare la seguente formula in E2:

=LUNGHEZZA(D8)=0

senza intestazione ed includendo alche questa colonna nell'intervallo dei criteri. 

E' una particolarità molto potente del filtro avanzato, che permette di ottenere risultati a volte insperati.

Se la colonna 'scadetra' la calcoli tu, ma anche nel caso fosse precalcolata, i due criteri  potrebbero essere legati assieme in un'unica colonna utilizzando la seguente formula:

=(B8-OGGI()<20)*(LUNGHEZZA(D8)=0)

0 = righe da escludere

1 =  righe interessanti

Sfruttando questa possibilità, oltre al filtro avanzato, è possibile utilizzare anche il più conosciuto filtro automatico.

  1. utilizza una terza macro per richiamare in sequenza la prima macro e quindi la seconda. Qualcosa del tipo:

Sub MacroGenerale()

  Call MacroAggiorna

  Call MacroFiltro

End Sub

per eseguirla ad ogni apertura del file puoi sfruttare l'evento Open dell'oggetto Workbook. Nel modulo ThisWorkbook incolla la seguente macro:

Private Sub Workbook_Open()

  Call MacroGenerale

End Sub

in subordine, posta le macro e vediamo che cosa si può fare.

La risposta è stata utile?

0 commenti Nessun commento

3 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2014-10-19T11:01:12+00:00

    Grazie Andrea, tutto perfettamente perfetto (non ho solo provato il lancio all'apertura ma lo farò presto) :D

    Ho un altro dubbio/richiesta in mente per completare questo mio progettino, ma preferisco aprire un altro post in modo che sia chiaro l'argomento per tutti gli altri interessati (e anche per mè in futuro quando andrò a ricercarmi i vecchi aiuti) ;P

    Quindi grazie e a presto!!! :D

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2014-09-21T07:10:19+00:00

    ...

    Voi come lo fareste?

    Filtro avanzato eventualmente automatizzato con codice.

    Grazie Andrea, ottimo suggerimento, mai usato prima i filtri avanzati, per il momento sono riuscito a fare questo, ma ... mi rimangono 2 problemi:

    1. sotto "consegnato" voglio filtrare anche tutti quelli che non hanno data di consegna (tengo quindi solo quelli ancora non consegnati), ma non sò come fare per dire "vuoto" , "=0" non lo accetta, nemmeno posso mettre val.vuoto ... come posso fare?
    2. ho registrato una macro che in DATI aggiorna tutti i dati (così aggiorna i dati), poi ne ho registrata un altra che lancia il comando filtro avanzato, ma non sò come fre in modo di metterle assieme in un unica macro nè come fare perchè si avvii e si esegua in automatico ad ogni apertura del file excel ... sai aiutarmi anche quì?

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2014-09-18T19:46:27+00:00

    ...

    Voi come lo fareste?

    Filtro avanzato eventualmente automatizzato con codice.

    La risposta è stata utile?

    0 commenti Nessun commento