|
Overfør data fra "indtastningsformular" til andre ark.En projektmappe består af 13 ark. Det første ark i mappen er et indtastningsark, hvor der altid indtastes i de samme fire celler, Navn i B1, Varigheden i B2, Måned i B3 og Beløb i B4. Derefter følger 12 ark, navngivet Januar, Februar, Marrts og så videre. Disse ark indeholder noget i denne forbindelse irrelevant information i rækkerne 1 til 8, bortset fra B2, som fortæller navnet på den person, som den seneste opdatering gælder. I A9 og B9 i alle disse ark står overskrifterne "Tid" og "Beløb". Dette er et krav for at koden skal virke efter hensigten. Nu skal indtastningsarkets fire celler udfyldes. Når disse er udfyldt og makroen afspilles skal navnet, der er indtastes i B1 overføres til celle B2 i det ark, der svarer til den måned, der er specificeret i B3. Varigheden og beløbet skal overføres til de første ledige celler i henholdsvis A og B kolonnerne - efter overskrifterne i A9 og A10. Til sidst vendes tilbage til indtastningsarket og inputcellerne tømmes. Hvis ikke både navn og tgid er udfyldt vises en meddelelse. Hvis beløb ikke er udfyldt overføres værdien 0. Makroen er udstyret med nogen fejlhåndtering. Se kommentarer efter kode. Denne makro løser opgaven. Den kan med fordel knyttes til en knap eller en genvejstastekombination. Sub Overfoer() Jeg har valgt at kommentere koden, så det kan ses, hvad der sker hvor. I selve koden undersøges to ting, nemlig dels om begge felterne Navn og Tid er udfyldt. Hvis det ikke er tilfældet vises en fejlmeddelelse og koden afbrydes. Man skal derefter udfylde felterne og afspille makroen igen. Desuden undersøges om feltet med Beløb er udfyldt. Er det ikke tilfældet sættes værdien til 0. I fejlhåndteringen undersøges først, om der findes et ark med det navn, der er angivet i cellen Måned. Er det ikke tilfældet, fx hvis der stavet forkert el.l. stoppes koden og der vises en fejlmeddelelse. Man kan så skrive navnet rigtigt eller indsætte arket, hvis det mangler. Dernæst testes om felterne Varighed og Beløb er udfyldt med numeriske værdier. Er det ikke tilfældet stoppes koden, og der vises en fejlmeddelelse. Man kan derefter rette og afspille igen. |