Kalender i Excel

Hvordan man kan lave en kalender i Excel med VBA makroer. Kalenderen placeres i en ny workbook med en fane for hver måned.

Jeg har moret mig med at lave en ny side om programmering i Excel med VBA makroer.

Siden viser et eksempel på, hvordan man kan lave en kalender i et regneark med en fane for hver måned.

Hvis man er ligeglad med programmering og bare gerne vil have en Excel-kalender, kan man downloade et zipkomprimeret regneark, som laver det hele i en ruf. (Opdatering 31.10.2016: og nu med den rigtige fil!)

Herunder ses et udsnit af januarkalenderen, 2016.

Excelkalender

Udsnit af januar-fanen, 2016

Makroen skal bare fodres med årstal og det antal rækker, man ønsker, så laver den på et øjeblik et nyt regneark med kalenderen.

Den har styr på skudår, lørdage og søndage, når bare året ikke er før 1900. Kolonner med lørdage og søndage får en anden baggrundsfarve (her pastelgrøn).

Så vil man fx vide, på hvilken ugedag man fylder 100 år, indsætter man bare det rigtige år og finder sin fødselsdag.

På arbejde har jeg i årevis brugt en lignende kalender til at holde styr på, hvor meget tid jeg brugte på forskellige projekter og gøremål, til at holde styr på overtid og ”undertid,” fridage og lignende.

I nogle år kopierede jeg bare kalenderen, når et nyt år startede, men jeg blev træt af på ny at markere weekendkolonner og huske på skudår, og så lavede jeg makroen, som nu er modificeret og pudset af.

Sådan er det: Hvis jeg skal lave en opgave i Excel mere end én gang, spørger jeg altid, om ikke opgaven med fordel kan outsources til en makro, og det kan den ofte.

Man skal investere lidt tid i at lave makroen, men den tid bliver som regel sparet mange gange, når det er en tilbagevendende opgave.

Makroen kan i øvrigt også lave en ”timekalender” med 24 rækker og angivelse af timeinterval (00-01, 01-02 osv.).

Hvis man interesserer sig for programmering i Excel, er der bl.a. eksempler på brug af ranges, et array, løkker, datofunktioner og inputbokse.

Hvis ikke, og man bare vil have en kalender, kan man som sagt downloade regnearket og trykke på den knap, som kører makroen.

/Eric

21 thoughts on “Kalender i Excel

  1. Jørgen

    Jeg bemærket at nov og dec mangler i excel efter jeg har indsat år og rækker og sagt ok til Subscript out of range. Det er med andre ord som om de 3 faner i det oprindelige regneark ikke er med efterfølgende. Måske er det problemet, måske er der en løsning?

    Svar
    1. Jørgen

      Problemet er løst. Har ændret koden hvor du skriver der brug for 9 ark, 4 – 12, til 4 – 14 ark.Så gør det ikke noget at de oprindelige ark 2 og 3 ikke bruges.
      Det virker herefter fint.

      Svar
      1. Eric

        Tak for at du gjorde mig opmærksom på problemet. Problemet var en fejl i koden (jeg ved ikke, hvad jeg har tænkt på), som tolerant blev ignoreret af de ældre versioner 2003 og 2010, men som 2016 ikke fandt sig i (med rette).

        Jeg er imponeret af, at du fandt en løsning, blot virker den ikke i ældre versioner. Men du var på sporet! Koden, som også bør virke i 2016, skal se således ud, når vi tilføjer de 9 nye faneblade:

        'Assuming that new workbooks still have 3
        'sheets we add 9 more, so we get one for
        'each month.
        With Worksheets
           For lCount = 1 To 9
              .Add
           Next
        End With
        
        Svar
        1. Jørgen

          Tak, nu virker makroen i Excel 2016. For mig var det en interessant proces fordi den lette løsning udeblev og jeg kom derved til at forstå en lille bitte smule om kodning i Excel. Det er godt at have en fornemmelse af hvordan noget virker.

          Svar
          1. Eric

            Ja, det er rart at have en fornemmelse af, hvordan ting virker, og så længe man arbejder på en kopi, kan man jo frit eksperimentere med at ændre det ene og det andet. Med lidt øvelse bliver du en ørn 🙂

            Svar
  2. Lene

    Excel er et ubeskrevet blad for mig, men regionen har et e-learning program, som vil kigge på, når der findes tid. Jeg vil nemlig gerne lave grafer over punkter på en audit, og det har jeg ladet mig fortælle skulle være \”nemt\” i excel. Jeg er som Inge imponeret over hvad Excel folk kan bruge programmet til 🙂

    Svar
    1. Eric

      Det er ret let at lave grafer i Excel, når man lige ved hvordan.

      Excel er et utrolig stærkt og alsidigt program, blot kunne man ønske, at visse personers brug af det skulle have mindre politisk indflydelse 😉

      Svar
  3. Jørgen

    Jeg har prøvet om jeg kunne finde ud af at indsætte koden. Det gik tilsyneladende fint idet jeg også kunneindsætte år og rækker, men herefter meddelte den mig et eller andet som bevirker at jeg må igen på et senere tidspunkt. Men ikke i aften.

    Svar
    1. Eric

      Der kan være gået noget galt under kopiering og indsætning. Prøv det regneark, du kan downloade – det er den rigtige fil nu 🙂

      Svar
      1. Jørgen

        Ved at dowloade filen og udpakke den nåede jeg lige en tand videre end i går, nemlig til at se kanpperne. Efter indsætning af år og rækker får jeg meldingen om, at “Subscript out of range”. Der er jeg så nu. Men jeg har jo opdaget noget om excel jeg ikke anede før, og det er fint. Måske finder jeg en løsning på det. Måske skulle jeg prøve en af dine andre makroer.

        Svar
          1. Eric

            Hm … Hvilken Excel-version bruger du, og hvor mange rækker beder du om?

            Jeg har testet i Excel 2003 og 2010, hvor det virker.

            Svar
            1. Jørgen

              2016 – det undrer også mig for det burde vel også virke i en nyere udgave skulle man synes. Det går nok uden, men jeg synes det kunne være fint at prøve kalenderen til alle de mange småting jeg bør have overblik over.

              Svar
  4. Ellen

    Bortset fra, at jeg altid bliver en anelse imponeret over din makrodygtighed, troede jeg egentlig, at alle større virksomheder forlangte, at alle medarbejderne udfyldte time-/projektregnskaber igennem noget dertil indrettet software, så lederne kan lave statistikker af enhver art.

    Svar
    1. Eric

      Det har vi ladet projektlederen om, når det er projekter. Jeg har brugt kalenderen til min egen, daglige opfølgning. Timeregnskab over det daglige, “almindelige” arbejde bruger vi ikke (tid på).

      Svar
  5. Inge

    Jeg tror du kan få Excel til at lave kaffe, hvis du vil. Jeg er ikke skarp i Excel, men jeg bliver altid imponeretn, når du og dine Excel kumphaner tryller. 🙂

    Svar

Skriv et svar til Inge Annuller svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *