VBA - Årstal der hører til ugenummer.
[/div]Sub AddNewWeek()' procedure der indsætter en ny uger dynamisk, så der hele tiden er oprettet uge-sheets et år frem
Dim LastExcistingDate As Date
Dim NewSheetName As String
Dim BackToSheet As String
LastExcistingDate = Range("LastDateLastWeekSheet") ' indhenter op lysning om sidste dato i den sidst oprettede uge (fra navngivet celle)
If LastExcistingDate - 365 < Date Then ' hvis planen ikke rækker x antal dage frem, skal der oprettes et nyt uge-sheet (kopi af arket Template")
' kopierer herunder det sheet der hedder Template, og det vil så af excel blive navngivet "Template (2)"
Sheets("Template").Copy Before:=Sheets("Template")
Sheets("Template (2)").Select ' går ind og retter nogle data i det nyligt kopierede ark
Range("B10").Value = LastExcistingDate + 1 ' retter uge-arkets startdato til LastExcistingDate + 1 [/div]
Her kommer problemet så:
Den sidste dato 'LastExcistingDate ' indeholder datoen 30-12-2018, som er en søndag.
Den næste uge der skal sættes ind vil så hedde uge 1 2019 (selvom startdato er mandag 31-12-2018) , men min kode herunder beregner at den skal hedde uge 1 2018 fordi den tager årstal fra mandag 31-12-2018, og SheetName 'uge 1 2018' eksisterer i forvejen, og så melder Excel fejl, fordi jeg prøver at navngive til et sheet der allerede findes.
Bemærk at function UgeNr er af egen konstruktion, og den returnerer det rigtige ugenummer der hører til inputdatoen.
Hvordan kan jeg forbedre min linje herunder så den registrerer det tilhørende årstal korrekt - vel at mærke uanset årstal og uanset om der er en uge 53 i spil, det pågældende årstal.
Der kommer meget mere kode herunder, så i behøves ikke at reagere på at der er startet en if-sætning , men der er ikke nogen End If.
Alle svar og spørgsmål er velkomne.
Gætterier og måske'er har jeg selv.