Jeg har lavet endnu en Excel VBA-side for makro-nørderne, 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å kan jeg fx se, hvem der linker direkte (hotlinker) til mine billeder, hvem der prøver at bryde ind på bloggen og meget andet.
Jeg plejede at downloade ”stikprøver,” nemlig dagens log her og nu, men det kan jeg ikke mere. Derimod kan jeg downloade logfiler, som dækker en kalendermåned.
Disse logfiler er imidlertid meget store og har flere linjer end der er rækker i Excel 2003, som jeg stadig bruger hjemme (hvorfor betale for en ny?).
Excel 2003 har ”kun” plads til 65.536 rækker, og hvad gør man så, når januar måneds logfil har 285.173 linjer? Hvis man importerer filen, læser Excel kun de første 65.536 linjer og ignorerer resten.
Det oplagte er at dele filen op i mindre filer med fx max 65.500 linjer, men hvordan gør man så lige det?
Jeg søgte på nettet og fandt nogle forslag, men jeg kunne ikke få dem til at virke. Måske var jeg ikke grundig nok, måske var jeg for utålmodig, men jeg droppede forslagene og skrev min egen makro, og den virker.
Ganske vist skal jeg nu importere og analysere fx 5 filer i stedet for 1, men det har også sine fordele, for den originale fil for januar fylder mere end 72 MB i ikke komprimeret format.
Det tager ca. 8 sekunder at opsplitte januar måneds 285.173 linjer i 5 mindre filer, og det kan jeg godt leve med.
Hvem der så har brug for den slags, udover nørder som mig, er noget ganske andet, og det er næppe siden, ”Opsplitning af tekstfiler til mindre filer med Excel VBA,” som får besøgstallet til at eksplodere.
Men skidt med det. Internettet har så mange nicher, og det er sjovt at bidrage med noget, som andre kan bruge, selvom ”andre” blot er nogle få.