{"id":14422,"date":"2016-01-31T15:42:24","date_gmt":"2016-01-31T14:42:24","guid":{"rendered":"http:\/\/\/\/sitestory.dk\/wordpress\/?p=14422"},"modified":"2016-01-31T15:42:24","modified_gmt":"2016-01-31T14:42:24","slug":"excel-programmering-til-automatisering-af-rutiner","status":"publish","type":"post","link":"https:\/\/sitestory.dk\/wordpress\/2016\/01\/31\/excel-programmering-til-automatisering-af-rutiner\/","title":{"rendered":"Excel-programmering til automatisering af rutiner"},"content":{"rendered":"<p><strong>Af og til bliver jeg spurgt, om jeg kan hj\u00e6lpe med at lave nogle makroer i Excel, som kan l\u00f8se eller automatisere specifikke opgaver.<\/strong><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignright\" src=\"https:\/\/sitestory.dk\/excel_vba\/pic\/histogram.png\" alt=\"Histogram\" width=\"300\" height=\"165\" \/><\/p>\n<p>Det er typisk mindre virksomheder, men ogs\u00e5 organisationer, og det er sp\u00e6ndende at f\u00e5 indblik i folks arbejdsopgaver og se, hvor meget forskelligt Excel kan bruges til.<\/p>\n<p>Besv\u00e6rligt og manuelt pillearbejde kan ofte udf\u00f8res p\u00e5 f\u00e5 sekunder af en makro, der hverken fejler pga. tr\u00e6thed, eller fordi opgaven er kedelig.<\/p>\n<p>Senest har jeg hjulpet en ven, der arbejder for en humanit\u00e6r organisation, med at fordele personer (alts\u00e5 navne m.m.) ud p\u00e5 forskellige faneblade efter forskellige kriterier.<\/p>\n<p>Det g\u00e5r lynhurtigt, og han sparer det kedelige, manuelle arbejde. Bureaukratiet kr\u00e6ver masser af data, og disse data kan nu genereres lynhurtigt.<\/p>\n<p>For en fotograf har jeg l\u00f8st flere opgaver med csv-filer (tekstfiler med semikolon som separator). Den sidste var at lave en database med navne p\u00e5 billedfiler samt en facilitet, der kan tjekke, om filnavne i en csv-fil findes i databasen.<\/p>\n<p>Der var ogs\u00e5 en opgave med at forkorte b\u00f8rns navne til et bestemt antal karakterer, s\u00e5 navnet kan st\u00e5 p\u00e5 \u00e9n linje under et lille billede af barnet.<\/p>\n<p>V\u00e6k med mellemnavne osv. til l\u00e6ngden passer. Flere hundrede navne fikses hurtigere, end du kan sige: <em>\u201dDer er en flue i min suppe!\u201d<\/em><\/p>\n<p><!--more--><\/p>\n<p>Med opgaven fulgte en csv-fil som eksempel, og jeg m\u00e5 medgive fotografen, at det er ganske utroligt, s\u00e5 mange mellemnavne b\u00f8rn udstyres med!<\/p>\n<p>Et reklamebureau brugte ogs\u00e5 csv-filer. Makroen skulle sl\u00e5 varenumre op og inds\u00e6tte dem bestemte steder i et regneark, der blev brugt som matrix til et katalog. Senere blev det ogs\u00e5 til opslag i en billeddatabase.<\/p>\n<p>Det var ikke ulig opgaven for en festivalarrang\u00f8r. Her var det blot et nummer fra en stregkodel\u00e6ser, der skulle sammenlignes med en liste over gyldige billetnumre, s\u00e5 ingen sneg sig ind p\u00e5 falsk billet.<\/p>\n<p>En hospitalsvagtplan l\u00e6rte mig, at de arbejder rigtig meget p\u00e5 hospitalerne. Vagtplanen var ret indviklet, og l\u00e6gen, der skulle have hj\u00e6lp til selvhj\u00e6lp, k\u00f8rte vist ogs\u00e5 sur i opgaven.<\/p>\n<p>Det gjorde togf\u00f8reren ogs\u00e5. Han havde en ambition om at kunne sl\u00e5 op i en masse bremsetabeller p\u00e5 en smart m\u00e5de, men s\u00e5 fik han et barn mere og blev tavs. M\u00e5ske fruen syntes, det var afsporet at arbejde, n\u00e5r han havde fri.<\/p>\n<p>Forinden l\u00e6rte jeg dog en masse om forskellige tog- og bremsetyper, og hvor st\u00e6rkt de m\u00e5 k\u00f8re p\u00e5 bestemte str\u00e6kninger i landet for at have tilstr\u00e6kkelig kort bremsel\u00e6ngde.<\/p>\n<p>Jeg har selvf\u00f8lgelig glemt det meste, men det var en (for mig) overraskende stor m\u00e6ngde specialviden, som s\u00f8rger for sikkerheden p\u00e5 de danske jernbanestr\u00e6kninger.<\/p>\n<p>Da jeg ikke har kundens specialviden og ikke ved, hvad der er \u201dindlysende,\u201d er det vigtigt at opgaven beskrives helt n\u00f8jagtigt, f\u00f8r jeg g\u00e5r i gang.<\/p>\n<p>S\u00e5ledes gik programmeringen som en leg, da en lidt st\u00f8rre virksomhed havde beskrevet opgaven med beundringsv\u00e6rdig klarhed.<\/p>\n<p>Man havde bare glemt at fort\u00e6lle, at regnearket skulle v\u00e6re beskyttet (nok se, men ikke r\u00f8re), og s\u00e5 var det om igen med min fine brugerflade.<\/p>\n<p>Formanden for en handicaporganisation skulle bruge en makro til fletning af tabeller. Det var en enkel opgave, men jeg kunne simpelthen ikke forst\u00e5, hvorfor makroerne ikke duede p\u00e5 hans PC.<\/p>\n<p>Han fandt selv ud af, at det var fordi han ikke havde installeret VBA-delen, da han installerede Office-pakken. Da det kom p\u00e5 plads, virkede alt efter hensigten.<\/p>\n<p>Det er sjovt at \u201dsnuse\u201d til forskellige brancher, og jeg har f\u00e5et stor respekt for den specialviden, man har.<\/p>\n<p>Min erfaring er i sagens natur ogs\u00e5, at mange er s\u00e6rdeles kreative, n\u00e5r de ser muligheden for at automatisere. Ofte skal de bare have lidt hj\u00e6lp.<\/p>\n<p>\/Eric<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Af og til bliver jeg spurgt, om jeg kan hj\u00e6lpe med at lave nogle makroer i Excel, som kan l\u00f8se eller automatisere specifikke opgaver.<\/p>\n<p>\nDet er typisk mindre virksomheder, men ogs\u00e5 organisationer, og det er sp\u00e6ndende at f\u00e5 indblik i folks arbejdsopgaver og se, hvor meget forskelligt Excel kan bruges til. (&#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":[2864,484,1251],"class_list":["post-14422","post","type-post","status-publish","format-standard","hentry","category-it-internet","tag-automatisering","tag-excel","tag-makroer"],"_links":{"self":[{"href":"https:\/\/sitestory.dk\/wordpress\/wp-json\/wp\/v2\/posts\/14422","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=14422"}],"version-history":[{"count":2,"href":"https:\/\/sitestory.dk\/wordpress\/wp-json\/wp\/v2\/posts\/14422\/revisions"}],"predecessor-version":[{"id":14424,"href":"https:\/\/sitestory.dk\/wordpress\/wp-json\/wp\/v2\/posts\/14422\/revisions\/14424"}],"wp:attachment":[{"href":"https:\/\/sitestory.dk\/wordpress\/wp-json\/wp\/v2\/media?parent=14422"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sitestory.dk\/wordpress\/wp-json\/wp\/v2\/categories?post=14422"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sitestory.dk\/wordpress\/wp-json\/wp\/v2\/tags?post=14422"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}