{"id":883,"date":"2014-01-22T16:46:06","date_gmt":"2014-01-22T15:46:06","guid":{"rendered":"http:\/\/www.office-guru.com\/wordpress\/?p=883"},"modified":"2014-04-12T17:20:47","modified_gmt":"2014-04-12T15:20:47","slug":"esportare-file-con-vba-come-csv-impostando-delimitatore","status":"publish","type":"post","link":"https:\/\/www.office-guru.com\/wordpress\/2014\/01\/esportare-file-con-vba-come-csv-impostando-delimitatore\/","title":{"rendered":"036. Esportare file con VBA come CSV impostando delimitatore"},"content":{"rendered":"<div style=text-align:right;><a class=\"wpptopdfenh\" target=\"_blank\" rel=\"noindex,nofollow\" href=\"https:\/\/www.office-guru.com\/wordpress\/2014\/01\/esportare-file-con-vba-come-csv-impostando-delimitatore\/?format=pdf\" title=\"Download PDF\"><img alt=\"Download PDF\" src=\"https:\/\/i0.wp.com\/www.office-guru.com\/wordpress\/wp-content\/plugins\/wp-post-to-pdf-enhanced\/asset\/images\/pdf.png?w=584\" data-recalc-dims=\"1\"><\/a><\/div><p><em><strong>Domanda:<\/strong><\/em><\/p>\n<p>Come posso fare a salvare il file con estensione .csv ma con separatore &#8220;;&#8221; invece della &#8220;,&#8221;\u00a0?<\/p>\n<p><em><strong>Risposta:<\/strong><\/em><\/p>\n<p>Non avendo mai avuto\u00a0la necessit\u00e0 di risolvere questo problema, ho cercato la soluzione in rete<br \/>\ndove ho trovato il seguente articolo (I thank the author for sharing code):<\/p>\n<p><!--more--><\/p>\n<p><a href=\"http:\/\/www.erlandsendata.no\/english\/index.php?d=envbatextexportcsv\">http:\/\/www.erlandsendata.no\/english\/index.php?d=envbatextexportcsv<\/a><\/p>\n<p>Vi spiego come applicare il codice:<br \/>\n1) in un modulo vuoto copiare la funzione scritta nell&#8217;articolo<br \/>\n2) lanciare la funzione specificandone gli argomenti in base alle vostre esigenze<\/p>\n<pre>Call ExportRangeAsDelimitedText(ThisWorkbook.Name, _\r\n \"ExportSheet\", \"A1:B2\", ThisWorkbook.Path &amp; \"\\TEST.csv\", \";\", True, True, False)<\/pre>\n<p>&#8220;ThisWorkbook.name&#8221;\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &gt; nome del\u00a0FILe contenente i dati<br \/>\n&#8220;ExportSheet&#8221;\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &gt; nome del FOGLIO contenente i dati<br \/>\n&#8220;A1:B2&#8221;\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0&gt; intervallo che si vuole esportare nel file csv<br \/>\nThisWorkbook.Path &amp; &#8220;\\TEST.csv&#8221; &gt; percorso e nome del file csv da creare<br \/>\n&#8220;;&#8221;\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&gt; il tipo di separatore da utilizzare<\/p>\n<p>Apparentemente il file non \u00e8 un csv, ma se provate a salvarlo come txt vedrete che i dati sono separati dal &#8220;;&#8221;<\/p>\n<p>A voi il file:<br \/>\n<a href=\"http:\/\/www.office-guru.com\/wordpress\/?attachment_id=889\/\">APRI<\/a><\/p>\n<p>Per poter copiare sheet con un numero di righe e colonne variabili e non essere costretti a modificare il range oggetto della funzione \u00e8 necessario apportare alcun modifiche alla funzione originale:<\/p>\n<p>1) bisogna dichiarare SourceAddress\u00a0non come String ma come\u00a0Range<br \/>\n2) sostituire &#8220;Range(SourceAddress)&#8221;\u00a0 con &#8220;SourceAddress)&#8221;<\/p>\n<p>Fatto ci\u00f2, quando si lancia la funzione, si identificano l&#8217;ultima riga e l&#8217;ultima colonna non vuota del foglio a copiare, e si sostituisce<\/p>\n<pre>Call ExportRangeAsDelimitedText(ThisWorkbook.Name, _\r\n \"ExportSheet\", \"A1:B2\", ThisWorkbook.Path &amp; \"\\TEST.csv\", \";\", True, True, False)<\/pre>\n<p>con<\/p>\n<pre>Call ExportRangeAsDelimitedText(ThisWorkbook.Name, _\r\n\u00a0\u00a0\u00a0 \"ExportSheet\", Range(Cells(1, 1), Cells(Last_Row, Last_Col)), ThisWorkbook.Path &amp; \"\\TEST.csv\", \";\", True, True, False)<\/pre>\n<p>&nbsp;<\/p>\n<p>A voi il file aggiornato:<br \/>\n<a href=\"http:\/\/www.office-guru.com\/wordpress\/2014\/01\/esportare-file-con-vba-come-csv-impostando-delimitatore\/separatore-csv-con-vba_dinamico\/\">APRI<\/a><\/p>\n<p>Riccardo Vincenti<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Domanda: Come posso fare a salvare il file con estensione .csv ma con separatore &#8220;;&#8221; invece della &#8220;,&#8221;\u00a0? Risposta: Non avendo mai avuto\u00a0la necessit\u00e0 di risolvere questo problema, ho cercato la soluzione in rete dove ho trovato il seguente articolo &hellip; <a href=\"https:\/\/www.office-guru.com\/wordpress\/2014\/01\/esportare-file-con-vba-come-csv-impostando-delimitatore\/\">Continua a leggere<span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spay_email":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true,"_links_to":"","_links_to_target":""},"categories":[13,5,6],"tags":[],"jetpack_featured_media_url":"","jetpack_publicize_connections":[],"jetpack_shortlink":"https:\/\/wp.me\/p39IU1-ef","jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"jetpack-related-posts":[{"id":895,"url":"https:\/\/www.office-guru.com\/wordpress\/2014\/01\/copiare-file-con-vba-e-rinominarli\/","url_meta":{"origin":883,"position":0},"title":"037. Copiare File con VBA e rinominarli","date":"27 Gennaio 2014","format":false,"excerpt":"Domanda: Non sono un esperto di excel vba , ma vorrei sapere se \u00e8 possibile risolvere questo mio problema. In una cartella di Windows 7 ho un elenco di files (vedi un esempio sotto, di alcuni di essi). Sono tutti con una parte del nome ripetitiva e una parte variabile\u2026","rel":"","context":"In &quot;Domande Lettori&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":445,"url":"https:\/\/www.office-guru.com\/wordpress\/2013\/03\/funzione-db-max\/","url_meta":{"origin":883,"position":1},"title":"012. Funzione DB.MAX","date":"22 Marzo 2013","format":false,"excerpt":"Domanda: Salve, sto cercando di utilizzare la funzione Db.Max. Devo gestire N Attrezzature da lavoro, di cui rilevare periodicamente il monte ore di lavoro ccumulato. La tabella origine (il database), da cui estrarre i dati, contiene le letture periodiche, con i seguenti 3 campi: Attrezzatura | Data della lettura |\u2026","rel":"","context":"In &quot;Domande Lettori&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1129,"url":"https:\/\/www.office-guru.com\/wordpress\/2014\/04\/copia-file-con-condizione\/","url_meta":{"origin":883,"position":2},"title":"047. Copia File con condizione","date":"9 Aprile 2014","format":false,"excerpt":"Domanda: Avrei bisogno di una macro che mi permetta di copiare i soli file di testo di una specifica directory che contengono una specifica stringa alfanumerica dalla directory sorgente ad un'altra da specificare. Risposta: E\u2019 possibile risolvere il problema con una solo macro che verifica presenza della stringa nel nome\u2026","rel":"","context":"In &quot;Domande Lettori&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1119,"url":"https:\/\/www.office-guru.com\/wordpress\/2014\/04\/salvataggio-periodico\/","url_meta":{"origin":883,"position":3},"title":"046. Salvataggio periodico file","date":"3 Aprile 2014","format":false,"excerpt":"Domanda: E\u2019 possibile tramite una macro creare ad intervalli temporali definiti una copia del file su cui st\u00f2 lavorando e salvarla sul computer? Risposta: Questa esigenza era stata risolta da Andrea nell\u2019articolo che trovate al link: http:\/\/terzaghi.blogspot.it\/2008\/02\/salvataggio-automatico-di-un-foglio-di.html Ho ripreso il suo codice apportando alcune modifiche in quanto era stato creato\u2026","rel":"","context":"In &quot;Domande Lettori&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":148,"url":"https:\/\/www.office-guru.com\/wordpress\/2013\/02\/la-funzione-indiretto-e-la-funzione-indirizzo\/","url_meta":{"origin":883,"position":4},"title":"la funzione INDIRETTO e la funzione INDIRIZZO","date":"8 Febbraio 2013","format":false,"excerpt":"La funzione INDIRETTO permette di recuperare un dato presente in un'altra cella del foglio di lavoro indicandone direttamente l'indirizzo della stessa. \u00a0 La procedura pi\u00f9 semplice \u00e8 scrivere: =INDIRETTO(\"A1\") questa funzione EQUIVALE\u00a0a scrivere =A1 Vista semplicemente in questo modo la funzione INDIRETTO sembra assolutamente\u00a0inutile. In realt\u00e0 aggiunge un livello di\u2026","rel":"","context":"In &quot;Excel&quot;","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.office-guru.com\/wordpress\/wp-content\/uploads\/2013\/02\/indiretto_01-237x300.gif?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":520,"url":"https:\/\/www.office-guru.com\/wordpress\/2013\/04\/creare-file-con-vba-ed-inviarli-via-mail-avanzato\/","url_meta":{"origin":883,"position":5},"title":"017. Creare file con VBA ed inviarli via mail (avanzato)","date":"20 Aprile 2013","format":false,"excerpt":"Ciao a tutti, in questo giorni ho modificato il Tool che invia allegati tramite email seguendo alcune necessit\u00e0 di Alessandra. Le modifiche sono le seguenti: 1) verifica della presenza dei nomi inseriti nella base dati con quelli presenti in elenco e segnalazione di eventuali assenze 2) selezione attraverso di un\u2026","rel":"","context":"In &quot;Domande Lettori&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"https:\/\/www.office-guru.com\/wordpress\/wp-json\/wp\/v2\/posts\/883"}],"collection":[{"href":"https:\/\/www.office-guru.com\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.office-guru.com\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.office-guru.com\/wordpress\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.office-guru.com\/wordpress\/wp-json\/wp\/v2\/comments?post=883"}],"version-history":[{"count":13,"href":"https:\/\/www.office-guru.com\/wordpress\/wp-json\/wp\/v2\/posts\/883\/revisions"}],"predecessor-version":[{"id":1218,"href":"https:\/\/www.office-guru.com\/wordpress\/wp-json\/wp\/v2\/posts\/883\/revisions\/1218"}],"wp:attachment":[{"href":"https:\/\/www.office-guru.com\/wordpress\/wp-json\/wp\/v2\/media?parent=883"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.office-guru.com\/wordpress\/wp-json\/wp\/v2\/categories?post=883"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.office-guru.com\/wordpress\/wp-json\/wp\/v2\/tags?post=883"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}