Condividi:        

Inserire dati filtrati da 2 file ad un terzo file

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

Inserire dati filtrati da 2 file ad un terzo file

Postdi Ricky0185 » 22/04/25 11:03

Buongiorno, ho 1 FILE composto da 3 fogli, due dei quali sono files scaricati da un sito web e inglobati in un unico file con la macro Riunisce_File (vedi nel file - anche qui solito problema dei numeri in formato testo, poco male alla fine della corsa il solito 1 moltiplicato).
Ricopio il contenuto di questi 2 files in un terzo foglio Foglio1 aggiunto (che fantasia) e con la macro Ordina_Righe_Corrispondenti (inclusa nel file) riordino le righe così che i nomi delle SEDI dei 2 fogli si trovino sulla stessa riga. Naturalmente dove non c’è corrispondenza delle SEDI nei due files, la riga del file con SEDE non coincidente risulterà vuota. Comunque è evidente nel Foglio1.
L’obbiettivo è quello di confrontare per SEDE o per Agente i dati dello stesso periodo dei due anni 2024 e 2025, dal 1° gennaio al giorno in cui scarico i 2 files. Però raggruppando in unico file i periodi e copiandoli su uno stesso Foglio1, ho constatato che non è possibile applicare filtri, poiché il filtro applicato in una delle due metà, per esempio filtrando per nome Agente la parte sinistra, la parte destra rimescola tutto. Speravo che successivamente applicando lo stesso filtro sulla parte destra, la parte sinistra rimanesse immobile. Illuso.
Quindi se non è possibile con qualche tricks o formula ottenere questo risultato, l’unica soluzione è quella di mantenere inalterati i files ottenuti con la macro Riunisce_File, affiancarli nel Foglio1 ed inserire i filtri occorrenti per procedere con le operazioni utili ad ottenere il confronto pianificato. Se però esistono altre soluzioni…sono tutt’orecchi.
A parte la macro da preparare su cui sto lavorando faticosamente, purtroppo dopo aver filtrato i due file Cin 24 e Cin 25, non riesco ad inserire, se non una ad una, su Foglio1 che ha tutte le righe in progressione quelle che sui due files filtrati sono invece su righe sparpagliate. Sul FILE Origine1 (anche se ci sarà un pò di lavoro per aggiustare la posizione dei 3 files) si può vedere.
Immagine
Spero in un aiuto, ma se ci sono altre soluzioni….
Vi saluto
R
Ricky0185
Utente Senior
 
Post: 377
Iscritto il: 10/12/19 20:38

Sponsor
 

Re: Inserire dati filtrati da 2 file ad un terzo file

Postdi Anthony47 » 22/04/25 14:20

E’ un po che te lo dico che non mi convinceva l’allineamento dei dati....
Allora devi spiegare come i dati devono essere allineati: immaginando che i due file contengano questi dati, come vorresti allinearli?
Codice: Seleziona tutto
 SEDE AGENTE    DATI
SedeA Agente1 Dati-Primo-Periodo1
SedeA Agente2 Dati-Primo-Periodo2
SedeA Agente3 Dati-Primo-Periodo3
SedeB Agente3 Dati-Primo-Periodo4
SedeB Agente4 Dati-Primo-Periodo5
SedeB Agente2 Dati-Primo-Periodo6
SedeC Agente1 Dati-Primo-Periodo7
SedeC Agente3 Dati-Primo-Periodo8

Secondo file:
Codice: Seleziona tutto
SEDE AGENTE    DATI
SedeA Agente3 Dati-Secondo-Periodo1
SedeB Agente2 Dati-Secondo-Periodo2
SedeB Agente5 Dati-Secondo-Periodo3
SedeC Agente2 Dati-Secondo-Periodo4
SedeC Agente2 Dati-Secondo-Periodo5

Come vorresti che i dati vengano allineati? La mia migliore stima dice:
Codice: Seleziona tutto
SedeA Agente1 Dati-Primo-Periodo
SedeA Agente2 Dati-Primo-Periodo
SedeA Agente3 Dati-Primo-Periodo    Dati-Secondo-Periodo1       ' di SedeA Agente3
SedeB Agente3 Dati-Primo-Periodo4   Dati-Secondo-Periodo2       ' di SedeB Agente2
‘etc etc

Vorrei pero’ vederlo scritto di tuo pugno, lavorando sugli interi due elenchi di sopra
Avatar utente
Anthony47
Moderatore
 
Post: 19604
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Inserire dati filtrati da 2 file ad un terzo file

Postdi Ricky0185 » 22/04/25 20:56

Piccola parentesi: apri un foglio vergine, ci inserisci la macro Riunisce_File in un Modulo Standard, la lanci e ti chiede dove e quali file vuoi aprire, li apre tutti e due (Cin 24 e Cin 25) come fogli in un unico file.
Dopo aver allineato Cin 24, Cin 25 ed 1 foglio aggiuntivo (Visualizza-Disponi tutto-Disponi finestre-Verticale) l’obbiettivo è quello di ottenere sul Foglio1 della figura (quello aggiuntivo all’estrema sinistra) il risultato del filtraggio dei 2 file, quello centrale Cin 24 e quello all’estrema destra Cin 25, dove ho nascosto i dati delle colonne Gennaio-Aprile e lasciato solo il Totale insieme al dato dei filtri A-ANT.
Piccola parentesi: apri un foglio vergine, ci inserisci la macro Riunisce_File in un Modulo Standard, la lanci e ti chiede dove e quali file vuoi aprire, li apre tutti e due (Cin 24 e Cin 25) come fogli in un unico file.
Dopo aver allineato Cin 24, Cin 25 ed 1 foglio aggiuntivo (Visualizza-Disponi tutto-Disponi finestre-Verticale) l’obbiettivo è quello di ottenere sul Foglio1 della figura (quello aggiuntivo all’estrema sinistra) il risultato del filtraggio dei 2 file, quello centrale Cin 24 e quello all’estrema destra Cin 25, dove ho nascosto i dati delle colonne Gennaio-Aprile e lasciato solo il Totale insieme al dato dei filtri A-ANT.
Immagine
Quindi, sempre con riferimento alla figura, le tre colonne all’estrema sinistra del Foglio1 dovrebbero riportare i dati delle tre colonne visibili del file Cin 24 (quello centrale) e, separate da una colonna, i dati delle tre colonne visibili del file Cin 25 (quello all’estrema destra).
Poiché i numeri di riga in Cin 24 ed in Cin 25 vengono rimescolati dopo il filtraggio, mi risulta problematico riportare sul file dell’estrema sinistra i dati delle 3+3 colonne dei file Cin 24 e Cin 25 (quello centrale e quello di destra).

Quindi, sempre con riferimento alla figura, le tre colonne all’estrema sinistra del Foglio1 dovrebbero riportare i dati che si vedono delle tre colonne visibili del file Cin 24 (quello centrale) e, separate da una colonna, i dati che si vedono delle tre colonne visibili del file Cin 25 (quello all’estrema destra).
Poiché i numeri di riga in Cin 24 ed in Cin 25 vengono rimescolati dopo il filtraggio, mi risulta problematico riportare sul file dell’estrema sinistra i dati delle 3+3 colonne dei file Cin 24 e Cin 25 (quello centrale e quello di destra).
Insomma, cerco il modo per controllare un attività od un agente per un periodo a mia scelta. Cin 24 e Cin 25 mi riportano dati per Gen-21 Apr del 2024 e del 2025 che debbo mettere a confronto.
Intanto ti ringrazio dell'interessamento e mi scuso per le sbrodolate.
R
Ricky0185
Utente Senior
 
Post: 377
Iscritto il: 10/12/19 20:38

Re: Inserire dati filtrati da 2 file ad un terzo file

Postdi Ricky0185 » 23/04/25 07:21

Mi sono perso in un bicchier d'acqua. Hai la soluzione sotto gli occhi e non la vedi. Semplicemente il Copia-Incolla dell'area e se vuoi incollare il collegamento Copia-Ctrl+Alt+V.
Scusami per l'ignoranza.
Ciao
Ricky0185
Utente Senior
 
Post: 377
Iscritto il: 10/12/19 20:38

Re: Inserire dati filtrati da 2 file ad un terzo file

Postdi Raffaele53 » 23/04/25 09:53

Onestamente non capisco più nulla, per quanto abbia capito ho preparato un'esempio
https://wetransfer.com/downloads/86990c ... 1745314774
Raffaele53
Utente Junior
 
Post: 63
Iscritto il: 03/10/24 13:06

Re: Inserire dati filtrati da 2 file ad un terzo file

Postdi Anthony47 » 23/04/25 11:42

Mi sono perso in un bicchier d'acqua. Hai la soluzione sotto gli occhi e non la vedi. Semplicemente il Copia-Incolla dell'area e se vuoi incollare il collegamento Copia-Ctrl+Alt+V.
Scusami per l'ignoranza.
Sapessi quante cose ignoro io... Vedo che ne sei uscito e questo mi solleva perchè altrimenti avrei dovuto capire cose che continuo a non afferrare :D
Non perdere il messaggio di Raffaele, sopra, con la sua interpretazione del problema
Avatar utente
Anthony47
Moderatore
 
Post: 19604
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Inserire dati filtrati da 2 file ad un terzo file

Postdi Ricky0185 » 23/04/25 15:43

Ringrazio te per la pazienza e Raffaele per il suggerimento, che avrebbe risparmiato tempo a me e attorcigliamenti interpretativi a te.
L'ultima cosa (seee...magari) che chiedo sarebbe quella di inserire in fondo alla Ordina_Righe un'interruzione che mi permetta di fare altro, nella fattispecie scegliere il nome SEDE o Agente da filtrare, magari con un msg "Inserisci filtro". Per poi una volta fatta la scelta, continuare la macro che dopo questa scelta del filtraggio contiene molte altre istruzioni.
L'esecuzione di questo file andrà in mano anche ad altri che non sanno neanche cos'è una macro (io un pò di più) per cui dovrebbe essere tutto automatizzato. Peraltro questo confronto andrà eseguito su una ventina di coppie di file al mese.
Grazie ancora.
Un saluto
R
Ricky0185
Utente Senior
 
Post: 377
Iscritto il: 10/12/19 20:38

Re: Inserire dati filtrati da 2 file ad un terzo file

Postdi Ricky0185 » 23/04/25 16:22

Ahi ahi ahi. Raffaele spiegami quali modifiche hai fatto, perchè con 2 files con altro nome, il filtro non funziona
Ricky0185
Utente Senior
 
Post: 377
Iscritto il: 10/12/19 20:38

Re: Inserire dati filtrati da 2 file ad un terzo file

Postdi Ricky0185 » 23/04/25 17:40

Allarme rientrato. Bisogna trasformare i numeri da testo a numero, allora funziona il filtraggio.
Ma per la pausa della macro, per dare la possibilità di scegliere chi filtrare, accetto suggerimenti
Ricky0185
Utente Senior
 
Post: 377
Iscritto il: 10/12/19 20:38

Re: Inserire dati filtrati da 2 file ad un terzo file

Postdi Anthony47 » 23/04/25 18:14

Ma per la pausa della macro, per dare la possibilità di scegliere chi filtrare, accetto suggerimenti

Ad esempio:
Codice: Seleziona tutto
Dim myF As Variant
myF = Application.InputBox("Inserisci il filtro", "Filtro", , , , , , 2)
If TypeName(myF) <> "String" Then
    'Qui: Cosa fare se non inserita una stringa
End If
'Qui la variabile myF contiene la stringa inserita dall'utente
'la macro continua
Avatar utente
Anthony47
Moderatore
 
Post: 19604
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Inserire dati filtrati da 2 file ad un terzo file

Postdi Raffaele53 » 23/04/25 18:27

Secondo me, quelli sono numeri nonostante sia memorizzato come testo. Si possono fare operazioni matematiche.
Causa errore: Sul files Origine.xlsm, scrivi "qualcosa" in Foglio1=A1, poi premi il bottone Iniziare e rispondi SI (metterò a posto)

Nei due Files non ho dichiarato i nomi dei fogli appositamente, perché oggi hai due fogli "Cin 24" e "Cin 25"
L'anno prossimo, forse i nomi saranno "Cin 25" e "Cin 26", pertanto ho usato la posizione de1 fogli.
1) Foglio1(Foglio1) = Sheets(1) dove vengono fatte tutte le operazioni
2) Foglio2(Cin 24) = Sheets(2) il foglio con i dati
3) Foglio3(Cin 25) Sheets(3) il foglio con i dati
Basta cambiare la posizione sulla barra sotto partendo da sinistra, meglio se mi dirai i nomi definitivi da assegnare hai tre fogli.

>>> Ordina_Righe un'interruzione
Non so a quale macro Ti stai riferendo, forse alla Sub Filtro_manuale.....???
Una volta che hai "iniziato" il Foglio1, basta un doppio-click per visualizzare-modificare-eliminare valori e non capisco la pausa.
Ps. Non sò cosa devi farci una volta che li hai messi in ordine
Raffaele53
Utente Junior
 
Post: 63
Iscritto il: 03/10/24 13:06

Re: Inserire dati filtrati da 2 file ad un terzo file

Postdi Ricky0185 » 23/04/25 20:30

Ragazzi, sono con il 2003 e non mi azzardo a lavorare sul file, ma posso solo dire che anche sul file originale, quello che mi dava problemi di filtraggio, cambiando i numeri da testo a numero (1 copia-incolla-moltiplica) funziona bene, cioè applica il filtro su ambedue le metà del 3° foglio ed in ambedue sceglie il nome filtrato.
In risposta a Raffaele, i file da trattare sarebbero circa 240 (Sede+Agente), Sede circa 200 (una tantum, quelli che ritirano poco o che hanno le tasche cucite) ed Agenti circa 40 (quelli che arrancano, coi tempi che corrono circa 15-20 al mese). Il confronto mi serve per verificare l'andamento nei due ultimi anni, Gennaio 24 (data odierna)--Aprile 24 (data odierna) e idem per il 25, dopo aver scelto/filtrato ovviamente il nome Sede o Agente, di questi tempi è il più utile. I 2 file importati coprono questi periodi, quindi almeno una trentina/mese.
Il confronto mesexmese (ma mesi interi) ce l'ho già, così come quello dell'Intero Anno 24 fino al Mese odierno 25, ma sempre mesi interi. Ambedue con l'aiuto (più che aiuto) determinante di Anthony. Lavoro che senza macro prenderebbe dagli 8 ai 10 minuti per file, invece che 2 secondi, naturalmente con sub tutte unite/richiamate.
Domani vedo di applicare l'istruzione per la scelta filtrata del nome da confrontare e Vi terrò informati, spero con intervento di chiusura 3d.
Vi saluto.
R
Ricky0185
Utente Senior
 
Post: 377
Iscritto il: 10/12/19 20:38

Re: Inserire dati filtrati da 2 file ad un terzo file

Postdi Ricky0185 » 27/04/25 13:10

Buon Pomeriggio, eccomi di nuovo.
Allego un FILE con richiesta, se possibile, di inserire una macro fra le due “Ordina_Righe_Corrispondenti” e la “CopiaCelleFiltrate” che dovrebbe permettermi di fare una scelta di filtro cliccando sulla freccetta nera ed, una volta fatta, riprendere con le istruzioni della seconda macro..
Nel Foglio1 l’ordinamento delle righe è già stato fatto, servirebbe che dopo l’ordinamento righe fosse inserita la macro che mi permette, cliccando sulla freccetta nera, di scegliere il nome dell’Agente da isolare ed una volta scelto riprendesse con la seconda macro che ricopia i dati filtrati in altra zona.
La macro suggeritami da Anthony
Codice: Seleziona tutto
Dim myF As Variant
myF = Application.InputBox("Inserisci il filtro", "Filtro", , , , , , 2)
If TypeName(myF) <> "String" Then
    'Qui: Cosa fare se non inserita una stringa
End If
'Qui la variabile myF contiene la stringa inserita dall'utente
'la macro continua
End Sub

funziona a dovere (vorrei vedere...), ma richiede il nome preciso da filtrare e non mi è possibile ricordarmi tutti i nomi tra cui quello interessato. Preferirei inoltre, sempre se possibile, una soluzione senza bottoni "Riprendi" da cliccare e, se possibile, senza Fermo per tot secondi.
Tutto il resto della chilometrica macro, grazie al Vs aiuto, fila liscio e mi manca solo quest'ultima ciliegina.
Ringrazio e saluto
R
Ricky0185
Utente Senior
 
Post: 377
Iscritto il: 10/12/19 20:38

Re: Inserire dati filtrati da 2 file ad un terzo file

Postdi Anthony47 » 27/04/25 18:06

Scarica questi due file:
https://www.dropbox.com/scl/fi/tpt1kd7k ... bpia1&dl=0
https://www.dropbox.com/scl/fi/6w0b7voa ... q2zsd&dl=0

Poi vai nel vba del tuo file e importa il file UFFiltro.frm, per importare nel tuo file la userform che avvisa l'utente che e' il momento di applicare i filtri prima di procedere, che vedi nell'immagine

Nel tuo codice attuale, in coda all'attuale Sub Ordina_Righe_Corrispondenti devi aggiungere il comando che visualizza la userform:
Codice: Seleziona tutto
Application.ScreenUpdating = True
UFFiltro.Show vbModeless                 '+++ AGGIUNGERE
End Sub

All'interno della userform, associata al pulsante CONTINUA, c'e' l'avvio della Sub CopiaCelleFiltrate
Allegati
Screenshot 2025-04-27 190517.png
Avatar utente
Anthony47
Moderatore
 
Post: 19604
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Inserire dati filtrati da 2 file ad un terzo file

Postdi Ricky0185 » 27/04/25 20:52

Works like a charm. Va più che bene.
Mi resta da delineare le varie aree d'intervento variabili (mesi/righe che aumentano, colonne che si allungano/accorciano, date che cambiano) etc. etc. poi rendere la megamacro utilizzabile ed inserirla nella barra di avvio veloce così da poterla utilizzare con qualunque coppia di file.
Ciao ciao, buona notte.
R
Ricky0185
Utente Senior
 
Post: 377
Iscritto il: 10/12/19 20:38


Torna a Applicazioni Office Windows


Topic correlati a "Inserire dati filtrati da 2 file ad un terzo file":


Chi c’è in linea

Visitano il forum: Nessuno e 39 ospiti

cron