Risultati da 1 a 22 di 22

Discussione: Importare file csv con selezione



  1. #1
    L'avatar di cnbgpp69d
    Clicca e Apri
    Data Registrazione
    Aug 2016
    Località
    TORINO
    Età
    48
    Messaggi
    9
    Versione Office
    OFFICE 365
    Likes ricevuti
    0
    Likes dati
    1

    Importare file csv con selezione

    Ciao a tutti e grazie in anticipo per l'aiuto che mi potrete date.
    in allegato trovate un file csv che ogni giorno mi arriva da una elaborazione batch notturna.
    In sostanza, tramite opportuna macro dovrei:
    . importare il file in una cartella di destinazione fissa (ad esempio polizze) che andrebbe svuotata e riempita ogni volta con la nuova versione del file
    . del file csv di input prelevare solamente i record che hanno - alla colonna stato titolo - il valore di "incassato".
    . abbinare tramite il campo agenzia appoggio, la descrizione dell'agenzia prelevata dal file TabAgenzia che vi allego.

    Qualcuno mi può dare una mano?

    Grazie mille
    File Allegati File Allegati

  2. #2
    L'avatar di Powerwin
    Clicca e Apri
    Data Registrazione
    Mar 2016
    Località
    Milano
    Messaggi
    1408
    Versione Office
    2016 - 2010
    Likes ricevuti
    194
    Likes dati
    71

    Re: Importare file csv con selezione

    Ciao cnbgpp69d, ho scaricato i tuoi 2 file e mi son sorte alcune domande:

    1) il file ti arriva zippato o direttamente in .csv
    2) tutte le colonne del .csv servono o ne servono solo alcune
    3) la descrizione agenzia la vuoi in aggiunta in un excel nuovo
    4) il file .csv si chiama sempre allo stesso modo

    Ciao
    Flavio

  3. #3
    L'avatar di patel
    Clicca e Apri
    Data Registrazione
    Mar 2016
    Località
    Livorno
    Età
    72
    Messaggi
    1119
    Versione Office
    2010
    Likes ricevuti
    146
    Likes dati
    1

    Re: Importare file csv con selezione

    a me piacerebbe vedere il risultato desiderato

  4. #4
    L'avatar di cnbgpp69d
    Clicca e Apri
    Data Registrazione
    Aug 2016
    Località
    TORINO
    Età
    48
    Messaggi
    9
    Versione Office
    OFFICE 365
    Likes ricevuti
    0
    Likes dati
    1

    Re: Importare file csv con selezione

    Citazione Originariamente Scritto da Powerwin Visualizza Messaggio
    Ciao cnbgpp69d, ho scaricato i tuoi 2 file e mi son sorte alcune domande:

    1) il file ti arriva zippato o direttamente in .csv
    2) tutte le colonne del .csv servono o ne servono solo alcune
    3) la descrizione agenzia la vuoi in aggiunta in un excel nuovo
    4) il file .csv si chiama sempre allo stesso modo

    Ciao
    Flavio

    Ciao Flavio .
    Eccoti le risposte:
    1) il file arriva direttamente in .csv
    2) le colonne mi servono tutte
    3) La descrizione la vorrei in aggiunta nell'excel di destinazione
    4) il file csv si chiama sempre allo stesso modo, ma per rendere più parametrico il tutto, sarebbe più opportuno selezionarlo all'avvio della procedura di importazione

    GRAZIE DI TUTTO

  5. #5
    L'avatar di cnbgpp69d
    Clicca e Apri
    Data Registrazione
    Aug 2016
    Località
    TORINO
    Età
    48
    Messaggi
    9
    Versione Office
    OFFICE 365
    Likes ricevuti
    0
    Likes dati
    1

    Re: Importare file csv con selezione

    Il risultato Atteso è il file excel allegato dove:
    . nel primo foglio immaginavo il tasto che comandasse l'avvio dell'importazione
    . nel secondo foglio immaginavo la tabella preimpostata dove ogni volta si andrebbe a svuotare e ad aggiungere con il risultato dell'importazione
    . nell'ultima colonna del secondo foglio si andrebbe ad aggiungere la descrizione dell'agenzia corrispondende al codice presente nela colonna Agenzia Appoggio

    Spero di essere stato chiaro.

    GRAZIE DELL'AIUTO
    File Allegati File Allegati

  6. #6
    L'avatar di Powerwin
    Clicca e Apri
    Data Registrazione
    Mar 2016
    Località
    Milano
    Messaggi
    1408
    Versione Office
    2016 - 2010
    Likes ricevuti
    194
    Likes dati
    71

    Re: Importare file csv con selezione

    Allora, un passo alla volta, con questo codice ripuliamo il file di appoggio e selezioniamo importando il csv

    Codice: 
    Sub ImportaDati()
        Sheets("POlizze").Select
        Cells.Select
        Selection.ClearContents
        Range("A1").Select
        With Application.FileDialog(msoFileDialogFilePicker)
        .AllowMultiSelect = False
        .Filters.Clear
        .Filters.Add "Text Files", "*.txt,*.csv"
        If .Show = 0 Then Exit Sub
        b = "text;" & .SelectedItems(1)
    End With
        With ActiveSheet.QueryTables.Add(Connection:=b, Destination:=Sheets("POlizze").Range("A1"))
            nomequery = .Name
            .FieldNames = True
            .RowNumbers = False
            .FillAdjacentFormulas = False
            .PreserveFormatting = True
            .RefreshOnFileOpen = False
            .RefreshStyle = xlInsertDeleteCells
            .SavePassword = False
            .SaveData = True
            .AdjustColumnWidth = True
            .RefreshPeriod = 0
            .TextFilePromptOnRefresh = False
            .TextFilePlatform = 850
            .TextFileStartRow = 1
            .TextFileParseType = xlDelimited
            .TextFileTextQualifier = xlTextQualifierDoubleQuote
            .TextFileConsecutiveDelimiter = False
            .TextFileTabDelimiter = True
            .TextFileSemicolonDelimiter = True
            .TextFileCommaDelimiter = False
            .TextFileSpaceDelimiter = False
            .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
            .TextFileTrailingMinusNumbers = True
            .Refresh BackgroundQuery:=False
        End With
    End Sub
    ora bisogna filtrare i dati tenendo solo le righe valide eliminando le altre, corretto?

  7. #7
    L'avatar di patel
    Clicca e Apri
    Data Registrazione
    Mar 2016
    Località
    Livorno
    Età
    72
    Messaggi
    1119
    Versione Office
    2010
    Likes ricevuti
    146
    Likes dati
    1

    Re: Importare file csv con selezione

    prova questa modificando il percorso, deve essere presente il foglio Polizze
    Codice: 
    Sub Macro1()
        Set wb = ThisWorkbook
        Set csvfile = Workbooks.Open(Filename:= _
            "F:\Download\PC1DS0A2_Multicanalita_EstrazionePreventivi_Dettaglio.csv", Local:=True)
        Range("A1").Select
        Selection.AutoFilter
        ActiveSheet.UsedRange.AutoFilter Field:=19, Criteria1:= _
            "INCASSATO"
        ActiveSheet.UsedRange.Copy wb.Sheets("Polizze").Range("A1")
        csvfile.Close False
        
    End Sub

  8. I seguenti utenti hanno dato un "Like"


  9. #8
    L'avatar di Powerwin
    Clicca e Apri
    Data Registrazione
    Mar 2016
    Località
    Milano
    Messaggi
    1408
    Versione Office
    2016 - 2010
    Likes ricevuti
    194
    Likes dati
    71

    Re: Importare file csv con selezione

    Ciao Patel (un saluto) ho mischiato un pò il tuo e il mio sperando di ottimizzare il tutto

    Codice: 
    Sub Macro1()
        Sheets("POlizze").Select
        Cells.Select
        Selection.ClearContents
        Range("A1").Select
        With Application.FileDialog(msoFileDialogFilePicker)
        .AllowMultiSelect = False
        .Filters.Clear
        .Filters.Add "Text Files", "*.txt,*.csv"
        If .Show = 0 Then Exit Sub
        b = .SelectedItems(1)
    End With
        Set wb = ThisWorkbook
        Set csvfile = Workbooks.Open(fileName:=b, Local:=True)
        Range("A1").Select
        Selection.AutoFilter
        ActiveSheet.UsedRange.AutoFilter Field:=19, Criteria1:= _
            "INCASSATO"
        ActiveSheet.UsedRange.Copy wb.Sheets("Polizze").Range("A1")
        csvfile.Close False
        
    End Sub
    File Allegati File Allegati

  10. I seguenti utenti hanno dato un "Like"


  11. #9
    L'avatar di ggratis
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Lecce - Pisa
    Età
    45
    Messaggi
    737
    Versione Office
    Excel 2010
    Likes ricevuti
    257
    Likes dati
    215

    Re: Importare file csv con selezione

    salve ragazzi,
    il vostro listato/codice può essere scritto anche così
    Codice: 
    Sub Macro1()
    Application.ScreenUpdating = False
        Sheets("POlizze").Cells.ClearContents
        With Application.FileDialog(msoFileDialogFilePicker)
            .AllowMultiSelect = False
            .Filters.Clear
            .Filters.Add "Text Files", "*.txt,*.csv"
            If .Show = 0 Then Exit Sub
            b = .SelectedItems(1)
        End With
        Set wb = ThisWorkbook
        Set csvfile = Workbooks.Open(fileName:=b, Local:=True)
        Range("A1").AutoFilter
        ActiveSheet.UsedRange.AutoFilter Field:=19, Criteria1:= _
            "INCASSATO"
        ActiveSheet.UsedRange.Copy wb.Sheets("Polizze").Range("A1")
        csvfile.Close False
    Sheets("POlizze").Select
    Application.ScreenUpdating = True
    End Sub
    saluti
    gg

  12. #10
    L'avatar di Powerwin
    Clicca e Apri
    Data Registrazione
    Mar 2016
    Località
    Milano
    Messaggi
    1408
    Versione Office
    2016 - 2010
    Likes ricevuti
    194
    Likes dati
    71

    Re: Importare file csv con selezione

    Citazione Originariamente Scritto da ggratis Visualizza Messaggio
    salve ragazzi,
    il vostro listato/codice può essere scritto anche così
    Codice: 
    Sub Macro1()
    Application.ScreenUpdating = False
        Sheets("POlizze").Cells.ClearContents
         ......
    saluti
    gg
    Ciao gg (un saluto) hai ragione, mi dimentico sempre che posso fare in quel modo

  13. #11
    L'avatar di cnbgpp69d
    Clicca e Apri
    Data Registrazione
    Aug 2016
    Località
    TORINO
    Età
    48
    Messaggi
    9
    Versione Office
    OFFICE 365
    Likes ricevuti
    0
    Likes dati
    1

    Re: Importare file csv con selezione

    Grazie a tutti infinitamente.
    Mi metto subito al lavoro.
    Vi aggiorno

  14. #12
    L'avatar di Powerwin
    Clicca e Apri
    Data Registrazione
    Mar 2016
    Località
    Milano
    Messaggi
    1408
    Versione Office
    2016 - 2010
    Likes ricevuti
    194
    Likes dati
    71

    Re: Importare file csv con selezione

    A questo punto mi pare che manchi solo l'importazione della descrizione agenzia nel file di destinazione, ma credo sia cosa alquanto semplice e da fare attraverso una formula nel foglio stesso e nella colonna adiacente all'ultima con i dati scaricati.

    Se hai bisogno ulteriormente chiedi pure.

    Flavio

  15. #13
    L'avatar di Powerwin
    Clicca e Apri
    Data Registrazione
    Mar 2016
    Località
    Milano
    Messaggi
    1408
    Versione Office
    2016 - 2010
    Likes ricevuti
    194
    Likes dati
    71

    Re: Importare file csv con selezione

    Ho implementato il file con l'associazione della "Descrizione Agenzia", ho messo i 3 file nella stessa cartella e lanciato la macro attraverso il pulsante.
    Nel caso non fosse possibile averli tutti insieme bisogna implementare la gestione dei percorsi.
    Ho inserito pure la gestione per quei codici Agenzia non presenti nella tabella.

    Codice: 
    Sub Macro1()
    Dim ur As Integer
    Dim n As Byte
    Application.ScreenUpdating = False
        Sheets("POlizze").Cells.ClearContents
        With Application.FileDialog(msoFileDialogFilePicker)
            .AllowMultiSelect = False
            .Filters.Clear
            .Filters.Add "Text Files", "*.txt,*.csv"
            If .Show = 0 Then Exit Sub
            b = .SelectedItems(1)
        End With
        Set wb = ThisWorkbook
        Set csvfile = Workbooks.Open(fileName:=b, Local:=True)
        Range("A1").AutoFilter
        ActiveSheet.UsedRange.AutoFilter Field:=19, Criteria1:= _
            "INCASSATO"
        ActiveSheet.UsedRange.Copy wb.Sheets("Polizze").Range("A1")
        csvfile.Close False
        Sheets("POlizze").Select
        Range("U1").Value = "Descrizione AGENZIA"
        ur = Sheets("POlizze").Range("A1").End(xlDown).Row
        For n = 2 To ur
            Cells(n, 21).FormulaR1C1 = "=IF(ISNA(VLOOKUP(RC[-7],[TabAgenzia.xlsx]Foglio1!C1:C2,2,0)),""Agenzia non presente"",VLOOKUP(RC[-7],[TabAgenzia.xlsx]Foglio1!C1:C2,2,0))"
        Next n
        Cells(2, 1).Select
    Application.ScreenUpdating = True
    End Sub
    File Allegati File Allegati

  16. #14
    L'avatar di cnbgpp69d
    Clicca e Apri
    Data Registrazione
    Aug 2016
    Località
    TORINO
    Età
    48
    Messaggi
    9
    Versione Office
    OFFICE 365
    Likes ricevuti
    0
    Likes dati
    1

    Re: Importare file csv con selezione

    Ciao e Grazie Ancora .
    Funziona tutto alla perfezione ma all'ultimo ho scoperto che i file polizze di input sono due.
    Il primo rappresenta il consolidato al mese precedente ed il secondo rappresenta invece il progressivo dall'inizio del mese al giorno precedente.
    I file hanno entrambi la stessa struttura e debbono essere accodati nel file finale senza ovviamente ripetere la prima riga (intestazioni di colonna).
    Ho guardato un po' in giro e non sono riuscito a trovare una soluzione.
    Riuscite ancora a darmi un amano su quest'ultimo aspetto?
    Grazie ancora

  17. #15
    L'avatar di Powerwin
    Clicca e Apri
    Data Registrazione
    Mar 2016
    Località
    Milano
    Messaggi
    1408
    Versione Office
    2016 - 2010
    Likes ricevuti
    194
    Likes dati
    71

    Re: Importare file csv con selezione

    Anche per questo secondo file bisogna filtrare i soli "incassato"?

    Inviato dal mio SM-G920F utilizzando Tapatalk
    Avvisi generali e importanti, pena CHIUSURA thread e/o BAN. Il crossposting è vietato. Le richieste di "pappa pronta" sono vietate. Utilizzate i tag CODE per il codice. Leggere il Regolamento per chiarimenti PRIMA di creare nuovi thread.



  18. #16
    L'avatar di cnbgpp69d
    Clicca e Apri
    Data Registrazione
    Aug 2016
    Località
    TORINO
    Età
    48
    Messaggi
    9
    Versione Office
    OFFICE 365
    Likes ricevuti
    0
    Likes dati
    1

    Re: Importare file csv con selezione

    SI esattamente come sul primo

  19. #17
    L'avatar di Powerwin
    Clicca e Apri
    Data Registrazione
    Mar 2016
    Località
    Milano
    Messaggi
    1408
    Versione Office
    2016 - 2010
    Likes ricevuti
    194
    Likes dati
    71

    Re: Importare file csv con selezione

    diciamo che questa aggiunta, scombussola e non poco il lavoro appena fatto, bisogna rivedere in toto il codice fin qui elaborato.

  20. #18
    L'avatar di cnbgpp69d
    Clicca e Apri
    Data Registrazione
    Aug 2016
    Località
    TORINO
    Età
    48
    Messaggi
    9
    Versione Office
    OFFICE 365
    Likes ricevuti
    0
    Likes dati
    1

    Re: Importare file csv con selezione

    Pensavo si potesse ripetere tante volte quante sono i file di input selezionati andando ad accodare volta per volta la singola selezione.
    Ho provato a fare così ma poi mi blocco sula selezione dei record senza prima riga e sul relativo accodamento

    Codice: 
    Sub ImportazionePOlizzeAuto()
    
    
        Sheets("POlizzeAutoOnline").Range("A2:X2000").ClearContents
        
        With Application.FileDialog(msoFileDialogFilePicker)
            .AllowMultiSelect = True
            .Filters.Clear
            .Filters.Add "Text Files", "*.txt,*.csv"
            If .Show = 0 Then Exit Sub
            NumeroFileSelezionati = .SelectedItems.Count
            For i = 1 To NumeroFileSelezionati
                'ultima riga foglio PoliizeAutoUnline
                
                
                b = .SelectedItems(i)
                Set wb = ThisWorkbook
                Set csvfile = Workbooks.Open(Filename:=b, Local:=True)
                ActiveSheet.Range("A1").AutoFilter
                ActiveSheet.UsedRange.AutoFilter Field:=23, Criteria1:="=ABBINATO", Operator:=xlOr, Criteria2:="=INCASSATO"
              
                ActiveSheet.UsedRange.Copy wb.Sheets("PolizzeAutoOnline").Range("A1")
               
                csvfile.Close False
            Next i
            
        End With
    End Sub

  21. #19
    L'avatar di Powerwin
    Clicca e Apri
    Data Registrazione
    Mar 2016
    Località
    Milano
    Messaggi
    1408
    Versione Office
    2016 - 2010
    Likes ricevuti
    194
    Likes dati
    71

    Re: Importare file csv con selezione

    Ti posto il nuovo file, il codice è questo, anche se penso che si possa ottimizzare

    Codice: 
    Sub Macro1()
    Dim ur As Integer
    Dim ur2 As Integer
    Dim n As Byte
    
    Sheets("POlizze").Select
    Application.ScreenUpdating = False
        Sheets("POlizze").Cells.ClearContents
        With Application.FileDialog(msoFileDialogFilePicker)
            .AllowMultiSelect = False
            .Filters.Clear
            .Filters.Add "Text Files", "*.txt,*.csv"
            If .Show = 0 Then Exit Sub
            b = .SelectedItems(1)
        End With
        Set wb = ThisWorkbook
        Set csvfile = Workbooks.Open(filename:=b, Local:=True)
        Range("A1").AutoFilter
        ActiveSheet.UsedRange.AutoFilter Field:=19, Criteria1:= _
            "INCASSATO"
        ActiveSheet.UsedRange.Copy wb.Sheets("Polizze").Range("A1")
        csvfile.Close False
        
        ur = Sheets("POlizze").Range("A1").End(xlDown).Row
        
        With Application.FileDialog(msoFileDialogFilePicker)
            .AllowMultiSelect = False
            .Filters.Clear
            .Filters.Add "Text Files", "*.txt,*.csv"
            If .Show = 0 Then Exit Sub
            b = .SelectedItems(1)
        End With
        Set wb = ThisWorkbook
        Set csvfile = Workbooks.Open(filename:=b, Local:=True)
        Range("A1").AutoFilter
        ActiveSheet.UsedRange.AutoFilter Field:=19, Criteria1:= _
            "ABBINATO"
        ActiveSheet.UsedRange.Copy wb.Sheets("Polizze").Range("A" & ur + 1)
        csvfile.Close False
        Range("A" & ur + 1).Select
        Selection.EntireRow.Delete
            
        Sheets("POlizze").Select
        Range("U1").Value = "Descrizione AGENZIA"
        ur2 = Sheets("POlizze").Range("A1").End(xlDown).Row
          
        For n = 2 To ur2
            Cells(n, 21).FormulaR1C1 = "=IF(ISNA(VLOOKUP(RC[-7],[TabAgenzia.xlsx]Foglio1!C1:C2,2,0)),""Agenzia non presente"",VLOOKUP(RC[-7],[TabAgenzia.xlsx]Foglio1!C1:C2,2,0))"
        Next n
        Cells(2, 1).Select
    Application.ScreenUpdating = True
    End Sub
    File Allegati File Allegati

  22. #20

    L'avatar di Rubik72
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Cosenza
    Età
    45
    Messaggi
    2822
    Versione Office
    Excel 2013
    Likes ricevuti
    1024
    Likes dati
    983

    Re: Importare file csv con selezione

    Ciao ragazzi, scusate l'intromissione
    Questo ciclo:
    Codice: 
        For n = 2 To ur2
            Cells(n, 21).FormulaR1C1 = "=IF(ISNA(VLOOKUP(RC[-7],[TabAgenzia.xlsx]Foglio1!C1:C2,2,0)),""Agenzia non presente"",VLOOKUP(RC[-7],[TabAgenzia.xlsx]Foglio1!C1:C2,2,0))"
        Next n
    si può ridurre così
    Codice: 
    Range(Cells(2, 21), Cells(ur2, 21)).FormulaR1C1 = "=IF(ISNA(VLOOKUP(RC[-7],[TabAgenzia.xlsx]Foglio1!C1:C2,2,0)),""Agenzia non presente"",VLOOKUP(RC[-7],[TabAgenzia.xlsx]Foglio1!C1:C2,2,0))"

  23. #21
    L'avatar di Powerwin
    Clicca e Apri
    Data Registrazione
    Mar 2016
    Località
    Milano
    Messaggi
    1408
    Versione Office
    2016 - 2010
    Likes ricevuti
    194
    Likes dati
    71

    Re: Importare file csv con selezione

    Figurati Rubik (un saluto), sapevo che si potesse ottimizzare/migliorare

    Grazie

    Flavio

  24. #22
    L'avatar di Powerwin
    Clicca e Apri
    Data Registrazione
    Mar 2016
    Località
    Milano
    Messaggi
    1408
    Versione Office
    2016 - 2010
    Likes ricevuti
    194
    Likes dati
    71

    Re: Importare file csv con selezione

    Abbiamo perso cnbgpp69d senza sapere se andava tutto bene

Discussioni Simili

  1. Importare record da altri file excel
    Di Berio nel forum Domande su Excel VBA e MACRO
    Risposte: 15
    Ultimo Messaggio: 29/01/17, 20:13
  2. [Risolto] Importare e esportare file . DAT
    Di G.Bove nel forum Domande su Excel in generale
    Risposte: 12
    Ultimo Messaggio: 28/11/16, 21:10
  3. [Risolto] Importare tanti file csv in un unico file excel
    Di gianluca26 nel forum Domande su Excel VBA e MACRO
    Risposte: 15
    Ultimo Messaggio: 12/11/16, 18:37
  4. Importare ed esportare file csv
    Di Berio nel forum Domande su Excel in generale
    Risposte: 5
    Ultimo Messaggio: 08/07/16, 23:07
  5. Importare file XML
    Di robynud nel forum Domande su Excel VBA e MACRO
    Risposte: 26
    Ultimo Messaggio: 20/05/16, 11:57

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
  •