Risultati da 1 a 23 di 23

Discussione: convertire fogli di lavoro in file csv



  1. #1
    L'avatar di Giannilima
    Clicca e Apri
    Data Registrazione
    Jun 2016
    Località
    Caserta
    Età
    27
    Messaggi
    106
    Versione Office
    Excel 2016
    Likes ricevuti
    0
    Likes dati
    3

    [RISOLTO] convertire fogli di lavoro in file csv

    salve a tutti
    io mi ritrovo con tanti fogli di lavoro da convertire in file csv.
    usando la mia maniera, cioè apro ogni singolo file e lo salvo in cvs.
    chiedevo se esiste un modo di convertirli tutti assieme senza aprirli.

    saluti
    Ultima modifica fatta da:Giannilima; 23/06/16 alle 18:39

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

    Re: convertire fogli di lavoro in file csv

    Ciao Gianni, credo che il problema sia risolvibile con VBA, ti posto un codice:

    Codice: 
    Public Sub Tester()
        Dim WB As Workbook
        Dim i As Long
        Const sName = "MyCsv"                  '<<=== da CAMBIARE
        Set WB = Workbooks("Pippo.xls")  '<<=== da CAMBIARE
            With WB
              For i = 1 To .Worksheets.Count
                .Sheets(i).Copy
                With ActiveWorkbook
                    .SaveAs Filename:="C:\Pippo\" & sName & i & ".csv", _
                            FileFormat:=Excel.XlFileFormat.xlCSV
                    .Close Savechanges:=False
                End With
            Next i
        End With
    End Sub

  3. I seguenti utenti hanno dato un "Like"


  4. #3
    L'avatar di Giannilima
    Clicca e Apri
    Data Registrazione
    Jun 2016
    Località
    Caserta
    Età
    27
    Messaggi
    106
    Versione Office
    Excel 2016
    Likes ricevuti
    0
    Likes dati
    3

    Re: convertire fogli di lavoro in file csv

    scusami ma non ho capito questo codice in quale foglio va.

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

    Re: convertire fogli di lavoro in file csv

    creati un pulsante sul primo foglio, poi fai doppio click sul pulsante appena creato, ti si aprirà la finestra del VBA con già scritte le seguenti righe:

    Codice: 
    Private Sub CommandButton1_Click()
    
    
    End Sub
    nel mezzo ci inserisci questo codice:

    Codice: 
    Dim WB As Workbook
        Dim i As Long
        Const sName = "MyCsv"                  '<<=== da CAMBIARE
        Set WB = Workbooks("Pippo.xls")  '<<=== da CAMBIARE
            With WB
              For i = 1 To .Worksheets.Count
                .Sheets(i).Copy
                With ActiveWorkbook
                    .SaveAs Filename:="C:\Pippo\" & sName & i & ".csv", _
                            FileFormat:=Excel.XlFileFormat.xlCSV
                    .Close Savechanges:=False
                End With
            Next i
        End With

  6. #5
    L'avatar di Giannilima
    Clicca e Apri
    Data Registrazione
    Jun 2016
    Località
    Caserta
    Età
    27
    Messaggi
    106
    Versione Office
    Excel 2016
    Likes ricevuti
    0
    Likes dati
    3

    Re: convertire fogli di lavoro in file csv

    se ho capito bene, al posto di pippo devo mettere il nome di tutta la cartella di lavoro,
    invece in "my csv" cosa devo mettere?
    ciao

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

    Re: convertire fogli di lavoro in file csv

    Citazione Originariamente Scritto da Giannilima Visualizza Messaggio
    se ho capito bene, al posto di pippo devo mettere il nome di tutta la cartella di lavoro,
    Esatto

    Citazione Originariamente Scritto da Giannilima Visualizza Messaggio
    invece in "my csv" cosa devo mettere?
    qui devi mettere la parte fissa del nome che vuoi dare ai file, poi il codice in automatico aggiunge un numero progressivo per differenziare i singoli file salvati


    p.s. visto che non hai postato un esempio, mi viene un dubbio, stiamo parlando di una cartella Excel con dentro tanti fogli corretto?

  8. #7
    L'avatar di Giannilima
    Clicca e Apri
    Data Registrazione
    Jun 2016
    Località
    Caserta
    Età
    27
    Messaggi
    106
    Versione Office
    Excel 2016
    Likes ricevuti
    0
    Likes dati
    3

    Re: convertire fogli di lavoro in file csv

    si....ho postato un file.
    dentro gia' c'è una macro gentilmente inviatami dal forum.
    praticamente succede questo: io ho una cartella di lavoro con tantissimi prodotti e li devo dividere per 500 alla volta; dopo mi servono tanti file csv quanti generati dalla macro.
    per questione di praticità ho rinominato i fogli in modo che mi generasse un file csv gia' nominato.
    ciao
    File Allegati File Allegati

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

    Re: convertire fogli di lavoro in file csv

    Ho provato la macro all'interno del file ma non fa quello che dici, crea solo un foglio vuoto senza dati

  10. #9
    L'avatar di Giannilima
    Clicca e Apri
    Data Registrazione
    Jun 2016
    Località
    Caserta
    Età
    27
    Messaggi
    106
    Versione Office
    Excel 2016
    Likes ricevuti
    0
    Likes dati
    3

    Re: convertire fogli di lavoro in file csv

    non so se hai visualizzato tutto la cartella di lavoro, se vai nei primi fogli li trovi divisi per 500 prodotti, proprio questi fogli pieni mi interessano salvarli 1 a 1 con file csv.
    ciao

  11. #10
    L'avatar di Raffaele_53
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Binasco
    Età
    64
    Messaggi
    506
    Versione Office
    2007
    Likes ricevuti
    85
    Likes dati
    7

    Re: convertire fogli di lavoro in file csv

    Scritto in modo molto semplice
    Sul desktop, in qualsiasi punto mouse-destro/nuovo/cartella, ora metti il Tuo allegato dentro questa cartella creata
    Apri il file, togli tutti i fogli tranne il primo
    Sostituisci il codice con questo e schiaccia il bottone.
    Codice: 
    Sub Estrai()
    Dim uRiga As Long
    Dim nFogli As Integer
    Dim iCount As Integer
    Dim Percorso As String
    Dim Nome As String
    Application.ScreenUpdating = False
    Nome = Sheets(1).Name & " "
    uRiga = Range("A" & Rows.Count).End(xlUp).Row
    nrighe = 500
    nFogli = Int(uRiga / nrighe) + 1
    r1 = 2: r2 = r1 + nrighe
    For iCount = 1 To nFogli
        Sheets.Add after:=Sheets(Sheets.Count)
        Sheets(Sheets.Count).Name = Nome & iCount * nrighe - nrighe + 1 & "a" & iCount * nrighe
        Foglio1.Range("A1:N1").Copy Sheets(iCount + 1).Range("a1")
        Foglio1.Range("A" & r1 & ":N" & r2).Copy Sheets(iCount + 1).Range("a2")
        r1 = r1 + nrighe + 1: r2 = r1 + nrighe
        Sheets.Copy
        With ActiveWorkbook
            .SaveAs Filename:=Percorso & Nome & iCount * nrighe - nrighe + 1 & "a" & iCount * nrighe & ".csv", FileFormat:=Excel.XlFileFormat.xlCSV
            .Close Savechanges:=False
        End With
    Next
    Application.ScreenUpdating = True
    MsgBox "fatto"
    End Sub

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

    Re: convertire fogli di lavoro in file csv

    Perdonami se faccio un paio di piccoli adattamenti al tuo codice Raffaele
    La prima perchè mancava il percorso, le altre per le esigenze di Gianni per il nomefile

    Citazione Originariamente Scritto da Raffaele_53 Visualizza Messaggio
    Scritto in modo molto semplice
    Sul desktop, in qualsiasi punto mouse-destro/nuovo/cartella, ora metti il Tuo allegato dentro questa cartella creata
    Apri il file, togli tutti i fogli tranne il primo
    Sostituisci il codice con questo e schiaccia il bottone.
    Codice: 
    Sub Estrai()Dim uRiga As Long
    Dim nFogli As Integer
    Dim iCount As Integer
    Dim Percorso As String
    Percorso = "C:\Prova\" 
    Dim Nome As String
    Application.ScreenUpdating = False
    'Nome = Sheets(1).Name & " "
    uRiga = Range("A" & Rows.Count).End(xlUp).Row
    nrighe = 500
    nFogli = Int(uRiga / nrighe) + 1
    r1 = 2: r2 = r1 + nrighe
    For iCount = 1 To nFogli
        Sheets.Add after:=Sheets(Sheets.Count)
        'Sheets(Sheets.Count).Name = Nome & iCount * nrighe - nrighe + 1 & "a" & iCount * nrighe
        Sheets(Sheets.Count).Name = iCount * nrighe - nrighe + 1 & "a" & iCount * nrighe
        Foglio1.Range("A1:N1").Copy Sheets(iCount + 1).Range("a1")
        Foglio1.Range("A" & r1 & ":N" & r2).Copy Sheets(iCount + 1).Range("a2")
        r1 = r1 + nrighe + 1: r2 = r1 + nrighe
        Sheets.Copy
        With ActiveWorkbook
            .SaveAs Filename:=Percorso & iCount * nrighe - nrighe + 1 & "a" & iCount * nrighe & ".csv", FileFormat:=Excel.XlFileFormat.xlCSV
            .Close Savechanges:=False
        End With
    Next
    Application.ScreenUpdating = True
    MsgBox "fatto"
    End Sub
    riposto il file
    File Allegati File Allegati
    Ultima modifica fatta da:Powerwin; 22/06/16 alle 16:22

  13. #12
    L'avatar di Giannilima
    Clicca e Apri
    Data Registrazione
    Jun 2016
    Località
    Caserta
    Età
    27
    Messaggi
    106
    Versione Office
    Excel 2016
    Likes ricevuti
    0
    Likes dati
    3

    Re: convertire fogli di lavoro in file csv

    giusto quello che dice powerwin, infatti io tengo i fogli gia' titolati in modo da estrarre i fogli gia' titolati, (un lavoro in meno).
    non ho capito l'azione di questo codice, cioè se mi divide la cartella di lavoro e poi salva i fogli, oppure mi salva solo i fogli generati dalla macro che gia' tengo nella cartella di lavoro in questione.
    ciao e grazie a voi 2

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

    Re: convertire fogli di lavoro in file csv

    ti crea già i fogli titolati come vuoi tu e li salva direttamente, creati una cartella "C:\Prova\" o quella che vuoi tu (modifica però il codice) e lancia la macro

    p.s. nella cartella prima di lanciare dev'esserci solo il primo foglio

  15. #14
    L'avatar di Raffaele_53
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Binasco
    Età
    64
    Messaggi
    506
    Versione Office
    2007
    Likes ricevuti
    85
    Likes dati
    7

    Re: convertire fogli di lavoro in file csv

    >>>Perdonami se faccio un paio di piccoli adattamenti al tuo codice Raffaele
    Scusami Tu, il bello che l'ho provato e ha funzionato (divento vecchio, pure il PC)
    >>>Percorso = ThisWorkbook.Path & "\"
    >>>ActiveWorkbook.SaveAs Filename:=Percorso & Nome

  16. #15
    L'avatar di mb63
    Clicca e Apri
    Data Registrazione
    Nov 2015
    Località
    Torino
    Età
    54
    Messaggi
    475
    Versione Office
    2007/10/13 w10
    Likes ricevuti
    17
    Likes dati
    91

    Re: convertire fogli di lavoro in file csv

    Scusate il disturbo

    premesso che grazie tutti voi sto imparando tante cose nuove volevo chiedervi se si tratta si "sviste " mie, ma mi sembra che i fogli non siano esattamente divisi per 500 e poi i file salvati in csv sono tutti uguali

    scusate....

  17. #16
    L'avatar di Raffaele_53
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Binasco
    Età
    64
    Messaggi
    506
    Versione Office
    2007
    Likes ricevuti
    85
    Likes dati
    7

    Re: convertire fogli di lavoro in file csv

    Hai ragione, ho usato la sua macro senza verificare. Errore mio.
    La riga >>>Sheets.Copy modificala in ActiveSheet.Copy
    per quanto riguarda il numero la prima riga è una specie d'intestazione, puoi giocare con
    >>>r1 = 2: r2 = r1 + nrighe - ....qui puoi togliere 1 o 2

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

    Re: convertire fogli di lavoro in file csv

    Citazione Originariamente Scritto da mb63 Visualizza Messaggio
    Scusate il disturbo

    premesso che grazie tutti voi sto imparando tante cose nuove volevo chiedervi se si tratta si "sviste " mie, ma mi sembra che i fogli non siano esattamente divisi per 500 e poi i file salvati in csv sono tutti uguali

    scusate....
    ho verificato e i fogli finali son tutti uguali perchè (erroneamente) abbiamo lavorato dando per scontato che il codice presente nel file facesse già la divisione dei record, infatti la richiesta iniziale era quella di salvare in .csv i fogli creati da quel codice, a questo punto direi che il codice che "spacchetta" i record è da riscrivere

  19. #18
    L'avatar di mb63
    Clicca e Apri
    Data Registrazione
    Nov 2015
    Località
    Torino
    Età
    54
    Messaggi
    475
    Versione Office
    2007/10/13 w10
    Likes ricevuti
    17
    Likes dati
    91

    Re: convertire fogli di lavoro in file csv

    Grazie Raffaele della precisazione
    p.s vorrei commettere anch'io qualche errore ma avere le Tue conoscenze

  20. #19
    L'avatar di Raffaele_53
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Binasco
    Età
    64
    Messaggi
    506
    Versione Office
    2007
    Likes ricevuti
    85
    Likes dati
    7

    Re: convertire fogli di lavoro in file csv

    Il problema che esiste una riga d'intestazione e se nel 1° ciclo era giusto però proseguendo mi sembrava errato.
    Preferito rifare il codice a modo mio (credo sia a posto).
    Questo non crea fogli, salva solamente file da 500 righe (499 righe + 1 d'intestazione + NB ciclo For)
    Nel file oltre al foglio dei dati, deve esserci presente un Foglio col nome Foglio1
    Ps. Bisogna essere posizionati sul foglio dei dtati ed avviare il codice
    Codice: 
    Sub Salva_solo_CSV()
    Dim Ur, X, Rgh, Percorso As String, Nome As String
    Application.ScreenUpdating = False
    Percorso = ThisWorkbook.Path & "\"
    Nome = Sheets(1).Name & " "
    Ur = Range("A" & Rows.Count).End(xlUp).Row
    Rgh = 500 - 2 '499 righe + intestazione = 500, però causa il ciclo for devo togliere ancora 1 = 500 -2
        Range("A1:H1").Copy
        Sheets("Foglio1").Range("A1").PasteSpecial
    For X = 2 To Ur
        Range(Cells(X, 1), Cells(X + Rgh, 8)).Copy
        Sheets("Foglio1").Cells(2, 1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
        Sheets("Foglio1").Copy
        With ActiveWorkbook
            .SaveAs Filename:=Percorso & Nome & X & "_" & X + Rgh & ".csv", FileFormat:=Excel.XlFileFormat.xlCSV
            .Close Savechanges:=False
        End With
        X = X + Rgh
        Sheets("Foglio1").Range("A2:H" & Rgh + 1).ClearContents
    Next X
    Sheets("Foglio1").Cells.Clear
    Application.ScreenUpdating = True
    MsgBox "fatto"
    End Sub

  21. #20
    L'avatar di Giannilima
    Clicca e Apri
    Data Registrazione
    Jun 2016
    Località
    Caserta
    Età
    27
    Messaggi
    106
    Versione Office
    Excel 2016
    Likes ricevuti
    0
    Likes dati
    3

    Re: convertire fogli di lavoro in file csv

    un grazie a tutti voi !!!!!

  22. #21
    L'avatar di Raffaele_53
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Binasco
    Età
    64
    Messaggi
    506
    Versione Office
    2007
    Likes ricevuti
    85
    Likes dati
    7

    Re: convertire fogli di lavoro in file csv


  23. #22
    L'avatar di Giannilima
    Clicca e Apri
    Data Registrazione
    Jun 2016
    Località
    Caserta
    Età
    27
    Messaggi
    106
    Versione Office
    Excel 2016
    Likes ricevuti
    0
    Likes dati
    3

    Re: convertire fogli di lavoro in file csv

    ciao
    se è per il crossposting
    questa volta non mi sento in colpa, infatti la discussione era iniziata diversamente, poi man mano è cambiata non per mio volere.
    comunque grazie ancora!!

  24. #23
    L'avatar di Raffaele_53
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Binasco
    Età
    64
    Messaggi
    506
    Versione Office
    2007
    Likes ricevuti
    85
    Likes dati
    7

    Re: convertire fogli di lavoro in file csv

    Avrai ragione, però per capire il tutto mi sono riletto
    http://www.forumexcel.it/forum/7-dom...-con-una-macro
    >>>Hai letto il regolamento del Forum. Prima di scrivere, oppure sei ancora alle prime righe?

    http://www.forumexcel.it/.......formule
    http://www.forumexcel.it/.......VBA
    http://www.freeforumzone.com....???


Discussioni Simili

  1. Convertire e Ost in un file pst in Outlook 2013
    Di toucancan nel forum Domande su Outlook
    Risposte: 3
    Ultimo Messaggio: 07/06/17, 07:49
  2. [Risolto] convertire file da xls a xml
    Di dandim74 nel forum Domande su Excel in generale
    Risposte: 5
    Ultimo Messaggio: 09/01/17, 15:16
  3. Pivot su più fogli di lavoro
    Di joseph nel forum Domande su Excel in generale
    Risposte: 5
    Ultimo Messaggio: 08/01/17, 08:06
  4. [Risolto] Stampare da un file excel fogli di lavoro presenti su un altro file excel
    Di Lorex nel forum Domande su Excel VBA e MACRO
    Risposte: 10
    Ultimo Messaggio: 09/12/16, 20:21
  5. Fogli di lavoro con pulsanti
    Di Theinvoker nel forum Domande su Excel VBA e MACRO
    Risposte: 7
    Ultimo Messaggio: 06/02/16, 16:39

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
  •