{"id":11594,"date":"2014-02-01T13:41:17","date_gmt":"2014-02-01T12:41:17","guid":{"rendered":"http:\/\/\/\/sitestory.dk\/wordpress\/?p=11594"},"modified":"2015-01-02T09:22:36","modified_gmt":"2015-01-02T08:22:36","slug":"opsplitning-af-store-tekstfiler-med-vba-makro","status":"publish","type":"post","link":"https:\/\/sitestory.dk\/wordpress\/2014\/02\/01\/opsplitning-af-store-tekstfiler-med-vba-makro\/","title":{"rendered":"Opsplitning af store tekstfiler med VBA makro"},"content":{"rendered":"<p><strong>Jeg har lavet endnu en Excel VBA-side for makro-n\u00f8rderne, denne gang om hvordan man kan opsplitte en tekst- eller csv-fil i flere mindre filer.<\/strong><\/p>\n<p>Jeg bruger Excel-makroer til at analysere logfilerne for hjemmesiden. S\u00e5 kan jeg fx se, hvem der linker direkte (hotlinker) til mine billeder, hvem der pr\u00f8ver at bryde ind p\u00e5 bloggen og meget andet.<\/p>\n<p>Jeg plejede at downloade \u201dstikpr\u00f8ver,\u201d nemlig dagens log her og nu, men det kan jeg ikke mere. Derimod kan jeg downloade logfiler, som d\u00e6kker en kalenderm\u00e5ned.<\/p>\n<p>Disse logfiler er imidlertid meget store og har flere linjer end der er r\u00e6kker i Excel 2003, som jeg stadig bruger hjemme (hvorfor betale for en ny?).<\/p>\n<p>Excel 2003 har \u201dkun\u201d plads til 65.536 r\u00e6kker, og hvad g\u00f8r man s\u00e5, n\u00e5r januar m\u00e5neds logfil har 285.173 linjer? Hvis man importerer filen, l\u00e6ser Excel kun de f\u00f8rste 65.536 linjer og ignorerer resten.<\/p>\n<p>Det oplagte er at dele filen op i mindre filer med fx max 65.500 linjer, men hvordan g\u00f8r man s\u00e5 lige det?<\/p>\n<p>Jeg s\u00f8gte p\u00e5 nettet og fandt nogle forslag, men jeg kunne ikke f\u00e5 dem til at virke. M\u00e5ske var jeg ikke grundig nok, m\u00e5ske var jeg for ut\u00e5lmodig, men jeg droppede forslagene og skrev min egen makro, og den virker.<\/p>\n<p>Ganske vist skal jeg nu importere og analysere fx 5 filer i stedet for 1, men det har ogs\u00e5 sine fordele, for den originale fil for januar fylder mere end 72 MB i ikke komprimeret format.<\/p>\n<p>Det tager ca. 8 sekunder at opsplitte januar m\u00e5neds 285.173 linjer i 5 mindre filer, og det kan jeg godt leve med.<\/p>\n<p>Hvem der s\u00e5 har brug for den slags, udover n\u00f8rder som mig, er noget ganske andet, og det er n\u00e6ppe siden, \u201d<a title=\"Excel VBA makroside\" href=\"https:\/\/sitestory.dk\/excel_vba\/split-tekstfiler.htm\">Opsplitning af tekstfiler til mindre filer med Excel VBA<\/a>,&#8221; som f\u00e5r bes\u00f8gstallet til at eksplodere.<\/p>\n<p>Men skidt med det. Internettet har s\u00e5 mange nicher, og det er sjovt at bidrage med noget, som andre kan bruge, selvom \u201dandre\u201d blot er nogle f\u00e5.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Jeg har lavet endnu en Excel VBA-side for makro-n\u00f8rderne, denne gang om hvordan man kan opsplitte en tekst- eller csv-fil i flere mindre filer. Jeg bruger Excel-makroer til at analysere logfilerne for hjemmesiden. S\u00e5 kan jeg fx se, hvem der linker direkte (hotlinker) til mine billeder, hvem der pr\u00f8ver at bryde ind p\u00e5 bloggen og meget andet. Excel 2003 har \u201dkun\u201d plads til 65.536 r\u00e6kker, og hvad g\u00f8r man s\u00e5, n\u00e5r januar m\u00e5neds logfil har 285.173 linjer? Hvis man importerer filen, l\u00e6ser Excel kun de f\u00f8rste 65.536 linjer og ignorerer resten. (&#8230;)<\/p>\n","protected":false},"author":10,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12],"tags":[484,2462,2564,2198],"class_list":["post-11594","post","type-post","status-publish","format-standard","hentry","category-it-internet","tag-excel","tag-makro","tag-tekstfiler","tag-vba"],"_links":{"self":[{"href":"https:\/\/sitestory.dk\/wordpress\/wp-json\/wp\/v2\/posts\/11594","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sitestory.dk\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sitestory.dk\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sitestory.dk\/wordpress\/wp-json\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/sitestory.dk\/wordpress\/wp-json\/wp\/v2\/comments?post=11594"}],"version-history":[{"count":0,"href":"https:\/\/sitestory.dk\/wordpress\/wp-json\/wp\/v2\/posts\/11594\/revisions"}],"wp:attachment":[{"href":"https:\/\/sitestory.dk\/wordpress\/wp-json\/wp\/v2\/media?parent=11594"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sitestory.dk\/wordpress\/wp-json\/wp\/v2\/categories?post=11594"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sitestory.dk\/wordpress\/wp-json\/wp\/v2\/tags?post=11594"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}