Risultati da 1 a 10 di 10

Discussione: Ordinamento ed Estrapolazione automatica dati su Excel



  1. #1
    L'avatar di Oriundo
    Clicca e Apri
    Data Registrazione
    Oct 2016
    Località
    cogno
    Età
    16
    Messaggi
    5
    Versione Office
    2013
    Utile ricevuti
    0
    Utile dati
    0

    Ordinamento ed Estrapolazione automatica dati su Excel

    Ciao a tutti,

    sono nuovo del forum e Vi chiedo se possibile avere breve info in merito a soluzione di mio piccolo problema con excel.
    Ho provato surfare/cercare all'interno del sito 'Forumexcel' senza però riuscire a trovare nulla che soddisfi mio problema. Magari ho solo cercato male!
    Avrei la necessità di estrapolare gruppo di dati x stamparli su fle .txt da foglio excel (gruppi di righe aventi in comune x esempio celle con stesso nome) in maniera automatica usando macro che andrò ad inserire nell'apposito modulo.
    Con il registratore di macro ho già ordinato alfabeticamente questi dati sul foglio, e volendo (fatto sempre con il registratore di macro ) già posso estrarli. Il fatto è che per ogni gruppo di righe ( tutti stesso nome) devo continuare a cambiare de-selezionare e selezionare ogni nuovo gruppo in base all'ordine alfabetico. Siccome ho fogli di qualche migliaia di righe, i nomi vanno dalla A alla Z, devo fare 20ina di selezioni per estrapolare i dati scelti. E' possibile avere piccolo suggerimento per fare questo con ciclo in automatico ??
    Vi sarei molto grato per piccolo aiuto su come fare. GRAZIE A TUTTI.

  2. #2

    L'avatar di Rubik72
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Cosenza
    Età
    45
    Messaggi
    2013
    Versione Office
    Excel 2013
    Utile ricevuti
    746
    Utile dati
    706

    Re: Ordinamento ed Estrapolazione automatica dati su Excel

    Allega un file senza dati sensibili.

  3. #3
    L'avatar di Oriundo
    Clicca e Apri
    Data Registrazione
    Oct 2016
    Località
    cogno
    Età
    16
    Messaggi
    5
    Versione Office
    2013
    Utile ricevuti
    0
    Utile dati
    0

    Smile Re: Ordinamento ed Estrapolazione automatica dati su Excel

    Citazione Originariamente Scritto da Rubik72 Visualizza Messaggio
    Allega un file senza dati sensibili.
    Allego file esempio con tabella dati . Ringrazio anticipatamente tutti.
    File Allegati File Allegati

  4. #4
    L'avatar di GiuseppeMN
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Mantova
    Messaggi
    817
    Versione Office
    2000 - 2013
    Utile ricevuti
    272
    Utile dati
    151

    Re: Ordinamento ed Estrapolazione automatica dati su Excel

    Citazione Originariamente Scritto da Oriundo Visualizza Messaggio
    ... Avrei la necessità di estrapolare gruppo di dati x stamparli su fle .txt da foglio excel (gruppi di righe aventi in comune x esempio celle con stesso nome) in maniera automatica usando macro che andrò ad inserire nell'apposito modulo.
    Con il registratore di macro ho già ordinato alfabeticamente questi dati sul foglio, e volendo (fatto sempre con il registratore di macro ) già posso estrarli. Il fatto è che per ogni gruppo di righe ( tutti stesso nome) devo continuare a cambiare de-selezionare e selezionare ogni nuovo gruppo in base all'ordine alfabetico. Siccome ho fogli di qualche migliaia di righe, i nomi vanno dalla A alla Z, devo fare 20ina di selezioni per estrapolare i dati scelti. E' possibile avere piccolo suggerimento per fare questo con ciclo in automatico?
    Buona sera, Oriundo;
    consentimi un caro saluto a Rubick.

    Cercando di interpretare la Tua Richiesta, ho costruito una Path di questo tipo:
    - C:\Prove\Oriundo\txt\
    in C:\Prove\Oriundo\ ho inserito il File:
    - Ordinamento ed Estrapolazione automatica dati su Excel.xlsm
    in C:\Prove\Oriundo\txt\ ho previsto di salvare i File .txt

    Il Codice VBA utilizzato è il seguente:

    Codice: 
    Option Explicit
    
    Sub Prova()
    Application.ScreenUpdating = False
    Dim NRc As Long, x As Long
    Const Foglio As String = "Foglio1"
    Const Path As String = "C:\Prove\Oriundo\txt\"
    
    
        Sheets(Foglio).Select
        NRc = Range("A" & Rows.Count).End(xlUp).Row
            Range(Cells(1, 6), Cells(NRc, 6)).ClearContents
    '       Copia univoci
        Range(Cells(1, 3), Cells(NRc, 3)).Copy Cells(1, 6)
        ActiveSheet.Range(Cells(1, 6), Cells(NRc, 6)).RemoveDuplicates Columns:=1, Header:=xlYes
    '       Ordina univoci
        Range(Cells(1, 6), Cells(NRc, 6)).Select
        ActiveWorkbook.ActiveSheet.Sort.SortFields.Clear
        ActiveWorkbook.ActiveSheet.Sort.SortFields.Add Key:=Range(Cells(1, 6), Cells(NRc, 6)), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
        With ActiveWorkbook.ActiveSheet.Sort
            .SetRange Range(Cells(1, 6), Cells(NRc, 6))
            .Header = xlYes
            .MatchCase = False
            .Orientation = xlTopToBottom
            .SortMethod = xlPinYin
            .Apply
        End With
            Cells(1, 6) = "USERID univoci"
    '   File .txt
        NRc = Range("F" & Rows.Count).End(xlUp).Row
            Sheets("Estrapola").Select
        With Worksheets(Foglio)
            For x = 2 To NRc
                Cells(1, 3).Value = .Cells(x, 6)
    '   Salva
                Application.DisplayAlerts = False
                    ActiveSheet.Copy
                        ActiveSheet.Name = .Cells(x, 6)
                    ActiveWorkbook.SaveAs Filename:=Path & Cells(1, 3) & ".txt", FileFormat:=xlUnicodeText, CreateBackup:=False
                        ActiveWorkbook.Save
                    ActiveWindow.Close
                        ActiveWorkbook.Save
            Next x
                Application.DisplayAlerts = True
                    Cells(1, 3).Value = .Cells(2, 6)
            .Select
        End With
            Range(Cells(1, 6), Cells(NRc, 6)).ClearContents
    Application.ScreenUpdating = True
        Cells(2, 1).Select
    End Sub
    Una precisazione, i File .txt verranno sovrascritti, senza chiedere autorizzazione, ad eventuali File .txt omonimi già presenti in C:\Prove\Oriundo\txt\; se questa regola non è accettabile, dovrai/dovremo modificare il Codice VBA.


    Confidando di aver interpretato correttamenta Tua Richiesta, resto a disposizione.

    Buona serata.

    Giuseppe
    File Allegati File Allegati
    Windows XP Excel 2000 - Windows 10 Excel 2013

  5. I seguenti utenti hanno dato un "Utile"


  6. #5
    L'avatar di Dillina
    Clicca e Apri
    Data Registrazione
    Aug 2016
    Località
    Tenerife
    Messaggi
    636
    Versione Office
    2013
    Utile ricevuti
    124
    Utile dati
    613

    Re: Ordinamento ed Estrapolazione automatica dati su Excel

    Orioundo benvenuto nel nostro Forum,
    sarebbe buona norma presentarsi prima di postare
    Ti aspetto QUI appena hai due minuti

    Per mettere una simpatica foto dell'avatar potrai trovare le istruzioni QUI



    (scusate l'intrusione )
    Sii gentile quando possibile. È sempre possibile
    (Dalai Lama)

  7. #6
    L'avatar di Oriundo
    Clicca e Apri
    Data Registrazione
    Oct 2016
    Località
    cogno
    Età
    16
    Messaggi
    5
    Versione Office
    2013
    Utile ricevuti
    0
    Utile dati
    0

    Re: Ordinamento ed Estrapolazione automatica dati su Excel

    ....beh che dire 1000 volte grazie GiuseppeMN, ora provo e verifico, poi tornerò ad implementare miei ringraziamenti per la solerzia e generosità dimostrata!
    Grazie ancora ........ a tra poco.

  8. #7
    L'avatar di Oriundo
    Clicca e Apri
    Data Registrazione
    Oct 2016
    Località
    cogno
    Età
    16
    Messaggi
    5
    Versione Office
    2013
    Utile ricevuti
    0
    Utile dati
    0

    Re: Ordinamento ed Estrapolazione automatica dati su Excel

    Ciao GiovanniMN, innanzitutto grazie ancora per tua disponibilità, provabilmente non ho esposto bene mia richiesta, allego quindi un immagine di quanto vorrei realizzare. Per quanto all'ordinamento già l'avrei fatto, vorrei se possibile anzichè selezionare a mano il gruppo di celle (righe) da stampare aventi in comune lo stesso nome (es. Tizo) ci fosse automatismo (senza usare tasto) che le raggruppase per poi stamparle automaticamnte su file e magari il nome file .txt uguale al gruppo selezionato. Che ne pensi, troppo complicato ?
    File Allegati File Allegati

  9. #8
    L'avatar di GiuseppeMN
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Mantova
    Messaggi
    817
    Versione Office
    2000 - 2013
    Utile ricevuti
    272
    Utile dati
    151

    Re: Ordinamento ed Estrapolazione automatica dati su Excel

    Citazione Originariamente Scritto da Oriundo Visualizza Messaggio
    Ciao GiouseppeMN, innanzitutto grazie ancora per tua disponibilità, provabilmente non ho esposto bene mia richiesta, allego quindi un immagine di quanto vorrei realizzare. Per quanto all'ordinamento già l'avrei fatto, vorrei se possibile anzichè selezionare a mano il gruppo di celle (righe) da stampare aventi in comune lo stesso nome (es. Tizo) ci fosse automatismo (senza usare tasto) che le raggruppase per poi stamparle automaticamnte su file e magari il nome file .txt uguale al gruppo selezionato. Che ne pensi, troppo complicato ?
    Buon pomeriggio, Oriundo;
    il File allegato in Risposta 4, credo faccia esattamente quanto richiesto.
    Nel Foglio di lavoro "Foglio1", ho utilizzato il Tasto "Prova" per eseguire il Codice VBA proposto sempre in Risposta #4
    Nel File, come sicuramente avrai potututo vedere, ho utilizzato un Foglio di lavoro d'appoggio; il Foglio di lavoro "Estrapola" mi è servito per il facilitare il salvataggio dei Dati nel File .txt

    Il Codice VBA che ho utilizzato, esegue in sequenza:
    - Nel Foglio di lavoro "Foglio1" copia tutti gli "USERID" in Colonna "F"
    - Riporta i valori univoci di "USERID" in Colonna "F"; nel nostro caso, Caio, Tizio Sempronio
    - Ordina la sequenza degli univoci USERID, nel nostro caso Caio, Sempronio, Tizio
    - Nel Foglio di lavoro "Estrapola", propone i Record relativi ad ogni USERID
    - Genera un nuovo File con un unico Foglio di lavoro il cui nome è quello dell'USERID in esame.
    - Salva il nuovo File come File .txt nella Directory (Cartella) prescelta; io ho previsto "C:\Prove\Oriundo\txt\", ma puoi definirla Tu in "Const Path As String"
    - Chiude il File .txt
    - Cancella gli USERID univoci riportati in Colonna "F" del Foglio di lavoro "Foglio1"

    In buona sostanza, dopo l'esecuzione del Codice VBA, nella Directory "C:\Prove\Oriundo\txt\", troverai tre File:
    - Caio.txt
    - Sempronio.txt
    - Tizio.txt

    Se desideri la stampa dei record relativi ad ogni USERID, nella Cella "C1" del Foglio di lavoro "Estrapola", dovresti semplicemente scrivere il Nome di USERID da stampare; verranno selezionati solo i Record relativi a quel USERID; poi, esegui la stampa.

    Ovviamente, non conoscendo la reale mole di Dati da trattare, ho limitato la selezione dei Record; per aumentare la potenzialità della selezione, basta copiare le Formule presenti nel Foglio di lavoro "Estrapola" nelle Celle sottostanti.

    Questa mi è sembrata la soluzione più pulita, ma è la mia personale convinzione e, come tale, opinabile.

    Dall'immagine in allegato a Risposta #7, non riesco ad aiutarti su come salvare i Record selezionati in un File .txt



    A disposizione.

    Buona serata.

    Giuseppe
    Windows XP Excel 2000 - Windows 10 Excel 2013

  10. #9
    L'avatar di Oriundo
    Clicca e Apri
    Data Registrazione
    Oct 2016
    Località
    cogno
    Età
    16
    Messaggi
    5
    Versione Office
    2013
    Utile ricevuti
    0
    Utile dati
    0

    Re: Ordinamento ed Estrapolazione automatica dati su Excel

    Buonasera Giuseppe,
    spero di non tediarti troppo con le mie richieste.
    Cè da dire che il codice copiato ed incollato sul modulo macro non mi funziona 'al primo giro di boa',
    da errori vari tra cui l'ultimo in ordine di cronologia 'Run-Time 1004 - Metodo 'SaveAs' dell'oggetto'_workbook' non riuscito.
    Leggendo tua esposizione nell'esecuzione della macro, leggo che vengono estratti-duplicati i nomi USERID , come mai?
    Non penso ce ne bisogno (a me non cambia nulla, sia chiaro ), vengono aggiunti fogli per immettere le selezioni fatte, anche questo non necessariamente occorre.
    Non è più semplice lasciarli dove sono e semplicemente ordinarli alfabeticamente con i relativi dati di riga ?
    Cosa che per altro io ho già fatto.
    A me occorebbe un semplice ciclo di lettura penso 'For/Next' che selezioni sulla base della colonna USERID tutte le righe con lo stesso USERID e le stampi/salvi in formato txt. Non mi riesce!
    Qualche suggerimento ?
    Giovanni sono a ringraziarti per la tua disponibilità, se non ti riesce va ok lo stesso. Ancora 1000 grazie per tuo interesse a mio problema.

  11. #10
    L'avatar di GiuseppeMN
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Mantova
    Messaggi
    817
    Versione Office
    2000 - 2013
    Utile ricevuti
    272
    Utile dati
    151

    Re: Ordinamento ed Estrapolazione automatica dati su Excel

    Citazione Originariamente Scritto da Oriundo Visualizza Messaggio
    Buonasera Giuseppe,
    spero di non tediarti troppo con le mie richieste.
    Cè da dire che il codice copiato ed incollato sul modulo macro non mi funziona 'al primo giro di boa',
    da errori vari tra cui l'ultimo in ordine di cronologia 'Run-Time 1004 - Metodo 'SaveAs' dell'oggetto'_workbook' non riuscito.
    Leggendo tua esposizione nell'esecuzione della macro, leggo che vengono estratti-duplicati i nomi USERID , come mai?
    Non penso ce ne bisogno (a me non cambia nulla, sia chiaro ), vengono aggiunti fogli per immettere le selezioni fatte, anche questo non necessariamente occorre.
    Non è più semplice lasciarli dove sono e semplicemente ordinarli alfabeticamente con i relativi dati di riga ?
    Cosa che per altro io ho già fatto.
    A me occorebbe un semplice ciclo di lettura penso 'For/Next' che selezioni sulla base della colonna USERID tutte le righe con lo stesso USERID e le stampi/salvi in formato txt. Non mi riesce!
    Qualche suggerimento ?
    Buona sera, Oriundo;
    l'errore che mi prospetti potrebbe essere dovuto al fatto che non trova la Directory (Cartella) dove andare ad inserire i File .txt

    Come ho scritto in Risposta #4, è indispensabile acere una struttura di questo tipo:
    - C:\Prove\Oriundo\txt\
    in C:\Prove\Oriundo\ ho inserito il File:
    - Ordinamento ed Estrapolazione automatica dati su Excel.xlsm
    in C:\Prove\Oriundo\txt\ ho previsto di salvare i File .txt
    Considera che il File "Ordinamento ed Estrapolazione automatica dati su Excel.xlsm" può risiedere in qualunque Directory; ma, la struttura :
    - C:\Prove\Oriundo\txt\
    è fonamentale.

    Potrai decidere un Percorso diverso del tipo:
    - C:\Oriundo\
    ma, contestualmente, nel Codice VBA, dovrai modificare la Definizione:
    - Const Path As String = "C:\Prove\Oriundo\txt\
    in:
    - Const Path As String = "C:\Oriundo\

    Ovviamente non è un problema prevedere un Ciclo For Next o Do While Loop, ma poi come riesci a dire al Sistema di copiare ogni Record selezionato in un File .txt con il Nome USERID?

    Questo è il motivo per cui ho preferito costruire il Foglio di lavoro "Estrapola" nel quale, senza l'uso di Cicli che, in funzione del numero di Record, potrebbero diventare anche piuttosto lenti.

    Volendo essere precisi, nel Foglio di lavoro "Estrapola" dovremmo modificare la Formula in Colonna "C" da:
    - =SE.ERRORE(INDICE(Foglio1!C$2:C$100;AGGREGA(15;6;RIF.RIGA($A$3:$A$101)-2/(Foglio1!$C$2:$C$100=$C$1);RIF.RIGA(C1)));"")
    a:
    - =SE.ERRORE(INDICE(Foglio1!D$2:D$100;AGGREGA(15;6;RIF.RIGA($A$3:$A$101)-2/(Foglio1!$C$2:$C$100=$C$1);RIF.RIGA(C1)));"")
    e la Formula in Colonna "D" da:
    - =SE.ERRORE(INDICE(Foglio1!D$2:D$100;AGGREGA(15;6;RIF.RIGA($A$3:$A$101)-2/(Foglio1!$C$2:$C$100=$C$1);RIF.RIGA(C1)));"")
    a:
    - =SE.ERRORE(INDICE(Foglio1!E$2:E$100;AGGREGA(15;6;RIF.RIGA($A$3:$A$101)-2/(Foglio1!$C$2:$C$100=$C$1);RIF.RIGA(C1)));"")

    Questo è un refuso dovuto al fatto che il File allegato in Risposta #4 non era l'ultima versione ma una versione precedente che avevo utilizzato inizialmente per i miei test; poi, considerando che USERID era già presente in Cella "C1", ho ritenuto di non doverlo più ripetere nelle Celle "C3" e sottostanti.
    Ho modificato le intestazioni nelle Celle "C2" e "D2" ma, in questa versione del File, non ho modificato le Formule come sopra descritto.

    Detto ciò, se ancora permangono dei dubbi, credo non resti che un contatto in Skype con il quale si potrebbero fugare tutti i dubbi; con il mio personale impegno di condividere in Forum eventuali sviluppi.




    A disposizione.

    Buona serata.

    Giuseppe

    P.s.
    Citazione Originariamente Scritto da Oriundo Visualizza Messaggio
    Giovanni sono a ringraziarti per la tua disponibilità, ...

    Oriundo, mi sono sentito con "Giovanni" e, anche lui è disposto a chiarire eventuali criticità.
    Windows XP Excel 2000 - Windows 10 Excel 2013

Discussioni Simili

  1. Risposte: 8
    Ultimo Messaggio: 02/02/17, 08:17
  2. [Risolto] estrapolazione dati
    Di catty0102195 nel forum Domande su Excel in generale
    Risposte: 15
    Ultimo Messaggio: 08/11/16, 16:09
  3. Dati in excel - come visualizzarli in più fogli con ordinamento diverso
    Di pfmarro nel forum Domande su Excel in generale
    Risposte: 13
    Ultimo Messaggio: 13/10/16, 22:14
  4. Estrapolazione conteggio dati in intervallo di tempo definito
    Di angi.viola nel forum Domande su Excel in generale
    Risposte: 6
    Ultimo Messaggio: 05/05/16, 10:49
  5. Risposte: 23
    Ultimo Messaggio: 23/02/16, 10:16

Tag per Questa Discussione

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •